现在的位置: 首页 > 综合 > 正文

实验二 JSP内置对象

2019年08月22日 ⁄ 综合 ⁄ 共 4259字 ⁄ 字号 评论关闭

一、实验目的和要求

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 /> 用户名    <input
			type="text" name="user"><br />
		密码        <input
			type="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"> <input
			type="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).

 

 

抱歉!评论已关闭.