JSP程序设计程第二版
动作元素与指令元素项目实训报告
动作元素与指令元素项目实训
设备仪器/软件环境
1.Windows 10系统
2.JDK、eclipse、Tomcat
实验(实训)/目标
1.掌握JSP中的指令元素的作用及使用
2.掌握JSP中动作元素forward与javabean的作用及使用
实验(实训)
过程/步骤
1.创建一个用户注册的网页,在顶部实现网站计数器的功能。
①创建3.1动态文件夹,创建index.jsp,设置其页面内容用户名,密码,确认,出生,地址,地址中设置其具体地址;
②在body中使用声明语句<%!%>定义计数变量,使用<% this.addNumber()%>调用定义的计数方法;
<%! int number=0;
void addNumber(){
number++;
}%>
<% this.addNumber(); %>
本次网页的访问次数是:<%=number%>次
2.在上述页面添加显示 当前日期时间的信息。
显示当前日期时间的信息,使用<%=Java变量或返回值的方法名称%>把java数据向页面直接输出信息,使用该方法实现Data类对象,并输出当前的系统时间。
<%= new java.util.Date()%>
3.使用forward动作元素完成用户注册页面的注册信息的获取和显示。
①获取index.jsp页面中的form表单
<%String name=request.getParameter("name");
String password=request.getParameter("password");
if (null ==name||null ==password||name.equals("")||password.equals("")){%>
<jsp:forward page="error.jsp" /><%}else{ %>
<jsp:forward page="success.jsp" >
<jsp:param value="<%= name %>" name="name"/>
<jsp:param value="<%= password %>" name="password"/>
</jsp:forward><%} %>
②存在空数据,注册失败
<font size="4pt"> 请输入用户名和密码,谢谢!</font>
③没有空数据,注册成功
<%
String name=new String(request.getParameter("name").getBytes("ISO8859_1"),"GBK");
String password=new String(request.getParameter("password").getBytes("ISO8859_1"),"GBK");
%>
<br><br><br><br><br><br><br>
您登录成功!
<br>账号:<%=name %>
<br>密码:<%=password %>
结果记录
与分析总结
运行截图
1.创建一个用户注册的网页,在顶部实现网站计数器的功能。运行截图如下:
2.在上述页面添加显示 当前日期时间的信息。运行截图如下:
3.使用forward动作元素完成用户注册页面的注册信息的获取和显示。运行截图如下:
①注册成功
②注册失败
二、分析总结
页面的关键代码如利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。
jsp:include与%@include的主要区别:
①<%@ include file>是直接包含源代码,jsp:include包含请求的 HTML 代码,并且支持 JSP 表达式和 Struts 应用中的请求模式。
②通过jsp:include包含一个 JSP 页面,在包含的页面中相关的 response 操作都被忽略,也就是说当前操作不能通过 response 对象重定向到其他页面。如果用%@include包含的 JSP 页面,在该页面中所有的 response 操作都会正常运行;%@include用于检测用户是否登录、网站标识或网站的一些静态不变的信息。
汉字乱码问题
①将success.jsp中的GBK改为UTF-8,使整个文件中的字节编码保持一致
②将文件中的UTF-8改为GBK,使整个文件中的字节编码保持一致
用户注册网页的全部代码
用户注册网页的全部代码
用户注册网页的全部代码
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户注册</title>
</head>
<%= new java.util.Date()%>
<br><br><br>
<%! int number=0;
void addNumber(){
number++;
}%>
<% this.addNumber(); %>
本次网页的访问次数是:<%=number%>次
<br>
<body>
<form action="dealwith.jsp" method="post" name="form1" onsubmit="return userCheck()">
<table width="409" border="1">
<tr>
<td>用户名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>密码:</td><td><input type="password" name="password"></td>
</tr>
<tr>
<td>确认:</td><td><input type="password" name="repassword"></td>
</tr>
<tr>
<td>出生:</td><td><input type="text" name="born"></td>
</tr>
<tr>
<td>地址:</td><td> <input type="text" name="address">
<select name="select" onchange="alert('您选择了'+select.value)">
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="重庆">重庆</option>
<option value="天津">天津</option>
</select>
</td>
</tr>
<tr>
<td>介绍:</td>
<td><textarea name="introduce" rows="5" id="introduce"></textarea></td>
</tr>
</table>
<input type="submit" name="Submit" value="注册">
<input type="reset" name="Submit2" value="重置">
</form>
</body>
</html>
dealwith.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name=request.getParameter("name");
String password=request.getParameter("password");
if (null ==name||null ==password||name.equals("")||password.equals("")){%>
<jsp:forward page="error.jsp" />
<%}else{ %>
<jsp:forward page="success.jsp" >
<jsp:param value="<%= name %>" name="name"/>
<jsp:param value="<%= password %>" name="password"/>
</jsp:forward>
<%} %>
</body>
</html>
error.jsp
**<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<br><br><br><br><br><br><br><br>
<font size="4pt"> 请输入用户名和密码,谢谢!</font>
</body>
</html>**
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%String name=new String(request.getParameter("name").getBytes("ISO8859_1"),"GBK");
String password=new String(request.getParameter("password").getBytes("ISO8859_1"),"GBK"); %>
<br><br><br><br><br><br><br>
您登录成功!<br>
账号:<%=name %><br>
密码:<%=password %>
</body>
</html>