
实验一JSP技术应用(第1次实验,2学时,设计性)一、实验目的和要求1掌握JSP的基本语法;2.掌握JSP页面的构成元素和执行过程;3.熟练掌握怎样在JSP页面中使用page指令和include指令;4.熟练掌握怎样在JSP页面中request内置对象;5.熟练掌握怎样在JSP页面中response对象动态响应用户的请求;6.熟练掌握怎样在JSP页面中session对象存储和用户有关的数据;7.进一步熟悉其它JSP内置对象的用法。二、实验内容实现一个猜数字小游戏:系统先随机分配给用户一个1到100之间的数,然后用户在页面输入自己的猜测,如果用户猜测不正确,则提示用户猜测的数字是大了还是小了;如果用户猜测正确,则游戏结束。要求:游戏中的不同功能分别在不同的JSP页面中实现,并在JSP页面中使用到session等内置对象。不能使用脚本或前端技术来实现。三、实验原理1.JSP页面的构成:HTML代码、脚本代码、指令、动作。2.JSP的内置对象共九个,其中四个是作用域对象:request、response、application、session3.Servlet类的定义及处理JSP页面请求并响应的一般过程如下:(1)设置请求编码格式(2)设置响应编码格式(3)获取请求信息(4)处理请求信息(5)响应处理结果(三种响应方式):直接响应(少用)、请求转发、重定向(更多用)4.EL表达式基本语法:$(表达式)注意:EL表达式仅能获取作用域对象中的数据。5.JSTL标签库使用基本步骤(以核心标签库为例):(1)导入jar包:(2)声明jstl标签库的引入(核心标签库):(3)使用四、实验步骤1.打开Eclipse,File->New->DynamilWebProject,命名testl。2.将jstljar和standard.jar复制到WEB-INF的lib目录下。3.在WebContent目录下新建inputGuess.jsp、largejsp、small.jsp和success.jsp。1
1 实验一 JSP 技术应用 (第 1 次实验,2 学时,设计性) 一、实验目的和要求 1. 掌握 JSP 的基本语法; 2. 掌握 JSP 页面的构成元素和执行过程; 3. 熟练掌握怎样在 JSP 页面中使用 page 指令和 include 指令; 4. 熟练掌握怎样在 JSP 页面中 request 内置对象; 5. 熟练掌握怎样在 JSP 页面中 response 对象动态响应用户的请求; 6. 熟练掌握怎样在 JSP 页面中 session 对象存储和用户有关的数据; 7. 进一步熟悉其它 JSP 内置对象的用法。 二、实验内容 实现一个猜数字小游戏:系统先随机分配给用户一个 1 到 100 之间的数,然后用户在 页面输入自己的猜测,如果用户猜测不正确,则提示用户猜测的数字是大了还是小了;如 果用户猜测正确,则游戏结束。 要求:游戏中的不同功能分别在不同的 JSP 页面中实现,并在 JSP 页面中使用到 session 等内置对象。不能使用脚本或前端技术来实现。 三、实验原理 1. JSP 页面的构成:HTML 代码、脚本代码、指令、动作。 2. JSP 的内置对象共九个,其中四个是作用域对象:request、response、application、session 3. Servlet 类的定义及处理 JSP 页面请求并响应的一般过程如下: (1)设置请求编码格式 (2)设置响应编码格式 (3)获取请求信息 (4)处理请求信息 (5)响应处理结果(三种响应方式):直接响应(少用)、请求转发、重定向(更多用) 4. EL 表达式 基本语法:${表达式} 注意:EL 表达式仅能获取作用域对象中的数据。 5. JSTL 标签库 使用基本步骤(以核心标签库为例): (1)导入 jar 包; (2)声明 jstl 标签库的引入(核心标签库): (3)使用 四、实验步骤 1. 打开 Eclipse,File->New->Dynamil Web Project,命名 test1。 2. 将 jstl.jar 和 standard.jar 复制到 WEB-INF 的 lib 目录下。 3. 在 WebContent 目录下新建 inputGuess.jsp、large.jsp、small.jsp 和 success.jsp

4.新建Servlet类:cn.edu.ycu.sxxy.testl.GuessServlet。5.测试运行。五、参考程序1.游戏开始界面inputGuess.jsp《title>猜数游戏.guessDtfont-size:24px;font-weight:bold;7猜数游戏系统随机生成了一个1到100之间的数, 1inputGuessjsplargejspsmalljspGuessServletjava消数游戏85http:/localhost:8080/test1/guess/inputGuessjspE猜数游戏系统随机生成了一个1到100之间的数,请输入您的猜测:张出2.GuessServletjava(验证用户猜的数正确?大了?还是小了?)String str=request.getParameter("num");if(str==null)(str="0";1
2 4. 新建 Servlet 类:cn.edu.ycu.sxxy.test1.GuessServlet。 5. 测试运行。 五、参考程序 1. 游戏开始界面 inputGuess.jsp 猜数游戏 .guessD{ font-size: 24px; font-weight:bold; } 猜数游戏 系统随机生成了一个1到100之间的数, 请输入您的猜测:  2. GuessServlet.java(验证用户猜的数正确?大了?还是小了?) String str=request.getParameter("num"); if(str==null){ str="0"; }

intguessNumber=Integer.parseInt(str);//用户猜的数字string save=(request.getSession()).getAttribute("save").tostring();intrealnumber=Integer.parseInt(save);//系统随机生成的数字String count =(request.getSession()).getAttribute("count").tostring();int n= Integer.parseInt(count);n=n+1request.getSession().setAttribute("count",new Integer(n));if(guessNumber==realnumber)1response.sendRedirect("success.jsp");2elseif(guessNumber>realnumber)tresponse.sendRedirect("large.jsp");7else if(guessNumber猜数游戏.guessD(font-size:24px;font-weight:bold;2猜数游戏猜大了,请再猜:-EinputGuessjsplargejipsmaljispDGuessServletjava消数静戏http:/localhost:B080/test1/guess/largejsp猜数游戏猜大了,请再猜:提4.猜小了,再猜smalljsp
3 int guessNumber = Integer.parseInt(str);//用户猜的数字 String save = (request.getSession()).getAttribute("save").toString(); int realnumber = Integer.parseInt(save);//系统随机生成的数字 String count = (request.getSession()).getAttribute("count").toString(); int n= Integer.parseInt(count); n=n+1; request.getSession().setAttribute("count", new Integer(n)); if(guessNumber==realnumber) { response.sendRedirect("success.jsp"); } else if(guessNumber>realnumber){ response.sendRedirect("large.jsp"); } else if(guessNumber 猜数游戏 .guessD{ font-size: 24px; font-weight:bold; } 猜数游戏 猜大了,请再猜: 4. 猜小了,再猜 small.jsp

《title>猜数游戏.guessD(font-size: 24px;font-weight:bold;7猜数游戏猜小了,请再猜:largejspsmalljspGuessServlet java满故游戏#DinputGuessjsphttp:/localhost:8080/test1/guess/smalljsp猜数游戏猜小了,请再猜:提支5.猜对了success.jsp猜数游戏.guessD(font-size:24px;font-weight:bold;7猜数游戏
4 猜数游戏 .guessD{ font-size: 24px; font-weight:bold; } 猜数游戏 猜小了,请再猜: 5. 猜对了 success.jsp 猜数游戏 .guessD{ font-size: 24px; font-weight:bold; } 猜数游戏

action="GuessServLet"method-"post"name-form>ROlargejspsmalljspGuessservetjavainputGuessjspInsert titlehere2http:/localhost:8080/test1/guess/successjsp?恭喜你,猜对了!您共猜了8次,这个数字就是16用时0.0秒单击超链接返回到inputGuess.jsp页面imputGuess.Jspn
5 猜小了,请再猜: