实验二 JSP内置对象

来源:互联网 发布:闲鱼网淘宝 编辑:程序博客网 时间:2024/05/01 14:21

一、实验目的和要求

1. 掌握JSP内置对象的使用

二、实验内容和原理

1. 制作一个购书页面,要求用户输入用户名和密码,并通过下拉菜单选择需要购买的图书,单击“确定”按钮,将信息发往服务器端,服务器端接收用户输入并输出用户名和所购图书。

2. 设计表单,制作读者选购图书的界面,当读者选中一本图书后,单击“确定”按钮,页面跳转到介绍该图书信息页面,要求使用response对象sendRedirect方法。

3. 猜字母游戏。随机生成一个字母,请输入者尝试猜出字母是什么(字母忽略大小写)。

要求:如果判断错误给出相关提示。如果有能力,尝试进行输入合法性校验。

三、实验环境

1. 硬件环境:

2. 软件环境:JDK1.5

四、算法描述及实验步骤

1. 算法描述

2. 实验步骤

(1).

buyBook.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><form action="bookDetail.jsp" method="post">请输入个人信息并选择要购买的图书 <br /> <br /> 用户名    <inputtype="text" name="user"><br />密码        <inputtype="password" name="pwd"><br />图书        <select name="book"><option value="1">《偷影子的人》</option><option value="2">《伊斯坦布尔假期》</option><option value="3">《草房子》</option><option value="4">《小王子》</option></select> <br /> <input type="submit" value="提交">        <input type="reset" value="清空"></form></body></html>

 

bookDetail.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>  </head>  <body>  <%  request.setCharacterEncoding("utf-8");  String username = request.getParameter("user");  String book = request.getParameter("book");out.println(username+"你好!");%><br/><%if("1".equals(book)){out.println("您所要购买的书为:《偷影子的人》");   }else if("2".equals(book)){out.println("您所要购买的书为:《伊斯坦布尔假期》");   }else if("3".equals(book)){out.println("您所要购买的书为:《草房子》");   }else if("4".equals(book)){out.println("您所要购买的书为:《小王子》");   }   %>  </body></html>


(2).

buyBook2.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>  </head>  <body>  <form action="bookDetail2.jsp" method="post">  <table border="1">  <tr>  <td colspan="2">请选择需要的图书</td>  </tr>  <tr>  <td>《在难搞的日子里笑出声来》</td>  <td><input type="radio" value="1" name="book"></td>  </tr>  <tr>  <td>《如果一切重来》</td>  <td><input type="radio" value="2" name="book"></td>  </tr>  <tr>  <td colspan="2"><input type="submit" value="提交"></td>  </tr>  </table>  </form>  </body></html>


 

bookDetail2.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><table><%String book = request.getParameter("book");if ("1".equals(book)) {response.sendRedirect("/Test2/book1.jsp");} else if ("2".equals(book)) {response.sendRedirect("/Test2/book2.jsp");}%></table></body></html>


 

book1.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><table border="1"><tr><td>《在难搞的日子里笑出声来》</td></tr><tr><td>作者:大鹏</td></tr><tr><td>定价:26.50</td></tr></table></body></html>


 

book2.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><table border="1"><tr><td>《如果一切重来》</td></tr><tr><td>作者:马克·李维</td></tr><tr><td>定价:19.20</td></tr></table></body></html>


 

(3).guessGame.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><%int num = (int) (Math.random() * 26);String s = "abcdefghijklmnopqrstuvwxyz";session.setAttribute("guessChar", s.charAt(num));%>猜字母游戏<br /> 游戏规则:电脑会随机自动生成一个字母,请您猜出这个字母是什么。字母忽略大小写。<br /><br /> 输入所猜的字母:<form action="guessResult.jsp" method="post"><input type="text" name="userChar" maxlength="1"> <inputtype="submit" value="提交"></form></body></html>


 

gameResult.jsp:

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><%String userChar = request.getParameter("userChar");String guessChar = session.getAttribute("guessChar").toString();System.out.println(guessChar + "=====" + userChar);if (null != userChar) {if (userChar.equalsIgnoreCase(guessChar)) {out.print("您输入的是:" + userChar + "恭喜您,答对了!!");} else {out.print("很抱歉,您猜错了!!");if (userChar.charAt(0) < guessChar.charAt(0)) {out.println("您输入的是:" + userChar + ",比答案小");} else if (userChar.charAt(0) > guessChar.charAt(0)) {out.println("您输入的是:" + userChar + ",比答案大");}}}%><br /> 输入所猜的字母:<form action="guessResult.jsp" method="post"><input type="text" name="userChar"> <input type="submit"value="提交"> <a href="guessGame.jsp">重新开始游戏</a></form></body></html>


 

五、调试过程

1. 编译过程

2. 调试过程

六、实验结果

用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确。

(1).

(2).

(3).


 

 

0 0