node.js实现tomcat经典例子猜数字


学jsp都时候知道tomcat有一个seesion的经典例子,猜数字。

相关阅读:

tomcat 中有源码,JavaBean源码NumberGuessBean.java代码如下:

[java]
  1. package num;  
  2.   
  3. import java.io.Serializable;  
  4. import java.util.Random;  
  5.   
  6. public class NumberGuessBean implements Serializable {  
  7.   
  8.     private static final long serialVersionUID = 1L;  
  9.   
  10.     private int answer;  
  11.     private String hint;  
  12.     private int numGuesses;  
  13.     private boolean success;  
  14.     private Random random = new Random();  
  15.   
  16.     public NumberGuessBean() {  
  17.         reset();  
  18.     }  
  19.   
  20.     public int getAnswer() {  
  21.         return answer;  
  22.     }  
  23.   
  24.     public void setAnswer(int answer) {  
  25.         this.answer = answer;  
  26.     }  
  27.   
  28.     public String getHint() {  
  29.         return "" + hint;  
  30.     }  
  31.   
  32.     public void setHint(String hint) {  
  33.         this.hint = hint;  
  34.     }  
  35.   
  36.     public void setNumGuesses(int numGuesses) {  
  37.         this.numGuesses = numGuesses;  
  38.     }  
  39.   
  40.     public int getNumGuesses() {  
  41.         return numGuesses;  
  42.     }  
  43.   
  44.     public boolean getSuccess() {  
  45.         return success;  
  46.     }  
  47.   
  48.     public void setSuccess(boolean success) {  
  49.         this.success = success;  
  50.     }  
  51.   
  52.     public void setGuess(String guess) {  
  53.         numGuesses++;  
  54.   
  55.         int g;  
  56.         try {  
  57.             g = Integer.parseInt(guess);  
  58.         } catch (NumberFormatException e) {  
  59.             g = -1;  
  60.         }  
  61.   
  62.         if (g == answer) {  
  63.             success = true;  
  64.         } else if (g == -1) {  
  65.             hint = "a number next time";  
  66.         } else if (g < answer) {  
  67.             hint = "higher";  
  68.         } else if (g > answer) {  
  69.             hint = "lower";  
  70.         }  
  71.     }  
  72.   
  73.     public void reset() {  
  74.         answer = Math.abs(random.nextInt() % 100) + 1;  
  75.         success = false;  
  76.         numGuesses = 0;  
  77.     }  
  78. }  
JSP源码numguess.jsp代码如下:

[html]
  1. <%@ page import = "num.NumberGuessBean" %>  
  2.   
  3. <jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/>  
  4. <jsp:setProperty name="numguess" property="*"/>  
  5.   
  6. <html>  
  7. <head><title>Number Guess</title></head>  
  8. <body bgcolor="white">  
  9. <font size=4>  
  10.   
  11. <% if (numguess.getSuccess()) { %>  
  12.   
  13.   Congratulations!  You got it.  
  14.   And after just <%= numguess.getNumGuesses() %> tries.<p>  
  15.   
  16.   <% numguess.reset(); %>  
  17.   
  18.   Care to <a href="numguess.jsp">try again</a>?  
  19.   
  20. <% } else if (numguess.getNumGuesses() == 0) { %>  
  21.   
  22.   Welcome to the Number Guess game.<p>  
  23.   
  24.   I'm thinking of a number between 1 and 100.<p>  
  25.   
  26.   <form method=get>  
  27.   What's your guess? <input type=text name=guess>  
  28.   <input type=submit value="Submit">  
  29.   </form>  
  30.   
  31. <% } else { %>  
  32.   
  33.   Good guess, but nope.  Try <b><%= numguess.getHint() %></b>.  
  34.   
  35.   You have made <%= numguess.getNumGuesses() %> guesses.<p>  
  36.   
  37.   I'm thinking of a number between 1 and 100.<p>  
  38.   
  39.   <form method=get>  
  40.   What's your guess? <input type=text name=guess>  
  41.   <input type=submit value="Submit">  
  42.   </form>  
  43.   
  44. <% } %>  
  45.   
  46. </font>  
  47. </body>  
  48. </html>  
仿照tomcat 我写了一个node.jsp版本,也用到了node.js module的写法。
  • 1
  • 2
  • 下一页

相关内容