一,实验目的
理解和巩固课堂上所学的JSP内置对象知识,提高学生对知识的实际运用与软件编程实现能力。
二、实验内容
编写一个用户登陆程序。具体步骤如下:
1、编写3个JSP页面index.jsp、server.jsp和loginSuccess.jsp。
2、在页面index.jsp中输入用户名和密码,单击“提交”按钮将输入的信息提交给页面server.jsp。(1) 在该页面中使用javascript,检查输入的用户名和密码是否为空,如果为空,给出提示,并且不能够跳转。
3、在server.jsp页面中进行登录验证:(1) 如果输入正确(默认用户名“bucea”,密码“123456”),提示“成功登录,3秒钟后进入loginSuccess.jsp页面”。在loginSuccess.jsp页面中显示输入的用户名和密码信息。(2) 如果输入不正确,重新定向到index.jsp页面。
三、实验要求
- 文件名字不要使用中文,文件名字首字母小写。2. 第一个文件命名为为index.jsp。3. 所有文件打成一个文件压缩包提交。压缩包文件命名规则:计181-01-姓名。4. 在程序中的title或者注释等地方加入个人名字信息。5. 提交程序运行成功结果截图。
//index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>xxx-index</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="Javascript">
function checkvalid()
{
var a=form1.name.value;
var b=form1.password.value;
if(a.length==0)
{
alert("用户名输入不能为空");
form1.name.focus();
return false;
}
if(b.length==0)
{
alert("密码输入不能为空");
form1.password.focus();
return false;
}
else return true;
}
</script>
</head>
<body>
<form name="form1" action="server.jsp" method="post" >
用户名(必填):<input type="text" name="name"/><br>
密码(必填):<input type="password" name="password"/><br>
工作(非必填):<br><input type="checkbox" name="JOB" value="教师"/>Teacher<br>
<input type="checkbox" name="JOB" value="老板"/>Boss<br>
<input type="checkbox" name="JOB" value="医生"/>Doctor<br>
性别(非必填):<br><input type="radio" name="sex" value="1" checked="${info.sex=='1'?'checked':''}"/>男<br>
<input type="radio" name="sex" value="0" checked="${info.sex=='0'?'checked':''}"/>女<br>
所在地(非必填):<br><select name=City>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">深圳</option>
</select><br>
意见想法(非必填):<textarea rows="10" cols="30" name="idea"></textarea>
<input type="submit" name="submit" value="提交" onClick="checkvalid()"/>
</form>
</body>
</html>
//server.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>xxx-server</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<%
String name=request.getParameter("name");
String password=request.getParameter("password");
if("bucea".equals(name)&&"123456".equals(password))
{
out.println("成功登录,3秒钟后进入loginSuccess.jsp页面");
response.setHeader("refresh","3;url=loginSuccess.jsp?name="+name+"&password="+password);
return;
}
else if(!("bucea".equals(name)))
{
out.println("该用户不存在!请重新输入");
response.setHeader("refresh","3;url=index.jsp");
}
else if(!("123456".equals(password)))
{
out.println("密码不正确!请重新输入");
response.setHeader("refresh","3;url=index.jsp");
}
else
{
out.println("用户和密码都不正确!请重新输入");
response.setHeader("refresh","3;url=index.jsp");
}
//loginSuccess.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>xxx-loginSuccess</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<%
String name=request.getParameter("name");
String password=request.getParameter("password");
out.println(name+"登录成功!");
%>
</body>
</html>
//工作职业信息(接收checkbox类信息)
String job[] = request.getParameterValues("JOB");
if(job != null) {
for(int i=0; i<job.length; i++)
out.println(job[i] + "<br>");
}
out.println("<br>");
//性别信息(接收radio类信息)
out.println(request.getParameter("sex"));
out.println("<br>");
//所在地信息(接收select信息)
out.println("户口所在地: ");
out.println(request.getParameter("City"));
out.println("<br>");
//意见想法信息(处理textarea中的信息)
String str=request.getParameter("idea");
StringBuffer idea = new StringBuffer(str);
out.println(idea);
%>
</body>
</html>