一、实验目的及要求:
- 掌握表单信息提交方法。
- 掌握request内置对象的getParameter()、getParameterValues()等获取表单多种元素值的方法。
- 掌握foreword运作标志使用方法。
- 掌握out对象的print()等方法的使用。
- 掌握汉字乱码的处理方法。
二、实验内容:
1.编写research.jsp页面用于提交用户的信息(参考下图,具体内容可自行决定),编写 view.jsp文件用于获取前一页面提交过来的信息,并显示在页面上。
要求对姓名(名字长度2~4个汉字)使用正则表达式进行判断,如果不符合要求,则提示输入正确的值。
2.编写index.jsp用request.setAttribute()方法来存放学生的基本信息(姓名、学号、性别、专业、年级),并转发于second.jsp页面,在second.jsp页面利用request.getAttribute()方法获取相应的信息并用out.print()方法输出。
三、主要代码:(10号字,宋体,单倍行距)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
function yan(){
var ab=document.getElementById("peopleName").value;
var reg= /^[\u4e00-\u9fa5]{2,4}$/;
if(reg.test(ab)){
alert("true");
}else{
alert("名字不正确");
}
}
</script>
</head>
<body>
<%
out.print("<font size=8>");
out.print("个人信息调查表(*为必填)");
out.print("</font>");
%>
<form action="second.jsp" method="post" name="form">
姓名:<input type="text" name="peopleName" onClick="yan()" required>*
<br>年龄:<input type="text" name="title" required>*
<br>学历: <select name="www">
<option>本科</option>
<option>研究生</option>
<option>博士</option>
</select>
<br>Email:<input type="text" name="email" required>*<br>
爱好:
<input type="checkbox" name="item" value="计算机">计算机
<input type="checkbox" name="item" value="数据结构">数据结构
<input type="checkbox" name="item" value="计算机网络">计算机网络
<input type="checkbox" name="item" value="体育课">体育课
<input type="checkbox" name="item" value="英语">英语
<input type="checkbox" name="item" value="课外活动">课外活动
<br>
对本站的评价:
<input type="radio" name="aaa" value="好" checked="default">好
<input type="radio" name="aaa" value="一般">一般
<input type="radio" name="aaa" value="差">差<br>
留言:<br> <textArea name="messages" rows="10" cols=36
wrap="physical"></textArea>
<br><input type="submit" value="提交" name="submit">
<input type="reset" value="重置">
</form>
</body>
</html>
页面二:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%request.setCharacterEncoding("UTF-8"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%! Vector v=new Vector();
int i=0;
ServletContext application;
synchronized void leaveWord(String s){
application=getServletContext();;
i++;
v.add(s);
application.setAttribute("Mess",v);
}
%>
<% String name=request.getParameter("peopleName");
String title=request.getParameter("title");
String www=request.getParameter("www");
String email=request.getParameter("email");
String item=request.getParameter("item");
String aaa=request.getParameter("aaa");
String messages=request.getParameter("messages");
if(name==null||name.equals(""))
name="guest"+(int)(Math.random()*10000);
if(title==null||title.equals(""))
title="无标题";
if(messages==null||messages.equals(""))
messages="无信息";
String s=name+"#"+title+"#"+www+"#"+email+"#"+item+"#"+aaa+"#"+messages;
leaveWord(s);
%>
<% Vector v=(Vector)application.getAttribute("Mess");
for(int i=0;i<v.size();i++) {
String message=(String)v.elementAt(i);
String []a =message.split("#");
out.print("<br>");
out.print("留言人:"+a[0]+"<br>");
out.print("年龄:"+a[1]+"<br>");
out.print("学历:"+a[2]+"<br>");
out.print("Emial:"+a[3]+"<br>");
out.print("爱好:"+a[4]+"<br>");
out.print("对本站的评价:"+a[5]+"<br>");
out.print("留言内容:<br>"+a[6]);
out.print("<br>--------------<br>");
}
%>
</body>
</html>
四、实验结果: