操作程序(NumberGuessBean.java) 
// Number Guess Game 
// Written by Jason Hunter, CTO, K&A Software 
// jasonh@kasoftware.com, http://www.servlets.com 
// Copyright 1999, K&A Software 
// Distributed by Sun Microsystems with permission 
package num; 
import java.util.*; 
public class NumberGuessBean { 
int answer; 
boolean success; 
String hint; 
int numGuesses; 
public NumberGuessBean() { 
reset(); 
} 
public void setGuess(String guess) { 
numGuesses++; 
int g; 
try { 
g = Integer.parseInt(guess); 
} 
catch (NumberFormatException e) { 
g = -1; 
} 
if (g == answer) { 
success = true; 
} 
else if (g == -1) { 
hint = "a number next time"; 
} 
else if (g < answer) { 
hint = "higher"; 
} 
else if (g > answer) { 
hint = "lower"; 
} 
} 
public boolean getSuccess() { 
return success; 
} 
public String getHint() { 
return "" + hint; 
} 
public int getNumGuesses() { 
return numGuesses; 
} 
public void reset() { 
answer = Math.abs(new Random().nextInt() % 100) 
+ 1; 
success = false; 
numGuesses = 0; 
} 
} 
在JSP文件中使用脚本 
numguess.jsp是一个非常有趣儿的用脚本写的例子,你看他的结构其实是一个很大的IF……ELSE结构,但是很一个从句又都是用HTML写的,看起来象一个大的程序段。 
不过你也不一定非得象numguess.jsp那样用HTML和JSP标签一起来写脚本。在<%和%>标签之间,你可以写任意多行的脚本代码,在通常情况下,尽量少用脚本来处理程序,而尽可能的使用servlets或者Beans,这样你的程序看起来会非常的清析,明了。话又说回来,怎么写JSP还得根据你的习惯和爱好,我不强迫非得使用任何一种方法,SUN的JSP详细说明书不规定脚本的长度。 
用标签组合脚本 
使用HTML和JSP标签来写脚本的时候,注意前后的标签不要忘记,一定要“封”好。说的不明白,举个例子吧: 
<% } else { %> <!-- 用JSP标签的时候先关上 --> 
... 这时候用JSP标签吧 ... 
<% } %> <!-- 这样你应该看懂了吧?! --> 
开始的时候这种做法看起来可能有一点奇怪,但它以确保你JSP文件编译的时候脚本的成功转换。 
那么,脚本什么时候执行呢? 
一个JSP原文件的处理分为两个阶段:一个是HTTP的编译时候,一个是请求的处理时间。 
HTTP编译的时候,当用户第一次读JSP页面的时候,JSP的原代码被编译成CLASS,通常是servlet。HTML标签和JSP标签在这个时候同时被处理了,这之前用户还没有任何的请求被提交。 
请求处理时间是当用户在JSP页面中提交了一个请求,这时请求由客户端被request对象传到了服务器端,JSP引擎根据用户提交的值执行编译过的JSP文件或者servlet。 
当你在JSP页中使用脚本的时候,你必须知道他们什么时候被执行。声明在HTTP编译阶段就已经被处理了,其他脚本,表达式在编译JSP文件的时候也可用。表达式在HTTP编译的时候也被执行了。表达式的值被转换成了字符串被插入到JSP文件中一块儿被编译。其实在请求阶段,脚本也是可以利用的。 
如何运行例子 
我现在给出的都是在UNIX风格下的路径,如果你用Windows,那么改成Windows风格路径 
1、猜数字游戏在装TOMCAT或者JSWDK的时候就已经装好了。 
2、.jsp和.html文件在../jswdk-1.0.1/examples/num中 
3、.java和.class文件在../jswdk-1.0.1/examples/WEB-INF/jsp/bean/num中 
4、开浏览器,http://机器名/examples/jsp/num/numguess.jsp
分页: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
TAG: JSP入门教程



