1,注册功能,包括两个页面
zhuce.jsp注册页面
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>注册页面</title>
8
9 <script type="text/javascript">
10 //js方法,验证用户名,昵称,密码是否为空,两次密码输入是否一致
11 function yanzh()
12 {
13 if(form1.user.value == "")
14 {
15 alert("用户名不能为空");
16 return false
17 }
18 else if(form1.passw.value == "")
19 {
20 alert("密码不能为空");
21 return false
22 }
23 else if(form1.nich.value == "")
24 {
25 alert("昵称不能为空");
26 return false
27 }
28 else if(form1.passw.value != form1.passw1.value)
29 {
30 alert("两次输入密码不一致");
31 return false
32 }
33 else
34 {
35 return true
36 }
37
38 }
39
40 </script>
41
42 </head>
43 <body>
44 <!-- 注册表单 -->
45 <form action="zhcchl.jsp" name="form1" id="form1" onsubmit="return yanzh()" method="post">
46
47 请注册
48 <br>
49 用户名:<input type="text" name="user" id="user">
50 <br>
51 昵称:<input type="text" name="nich" id="nich">
52 <br>
53 密码:<input type="password" name="passw" id="passw">
54 <br>
55 确认密码:<input type="password" name="passw1" id="passw1">
56 <br>
57 <input type="submit" value="注册">
58
59 </form>
60
61 </body>
62 </html>
zhcchl.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>
<body>
<%
//接收用户名,密码,昵称
String user = request.getParameter("user");
String passw = request.getParameter("passw");
String nich = request.getParameter("nich");
//取用户名对应的application对象
Object obj = application.getAttribute(user);
//如果没有找到用户名,跳转到错误页面
if(user == null || user.trim().length() == 0)
{
response.sendRedirect("cuowu.jsp?mes=1");
}
//如果没有找到密码,跳转到错误页面
else if(passw == null || passw.trim().length() == 0)
{
response.sendRedirect("cuowu.jsp?mes=2");
}
//如果没有找到昵称,跳转到错误页面
else if(nich == null || nich.trim().length() == 0)
{
response.sendRedirect("cuowu.jsp?mes=3");
}
//如果用户名已存在,跳转至错误页面
else if(obj != null)
{
response.sendRedirect("cuowu.jsp?mes=4");
}
else
{
//将注册信息写入application对象
application.setAttribute(user, user + "#" + nich + "#" + passw);
//跳转至错误页面提示注册成功
response.sendRedirect("cuowu.jsp?mes=5");
}
%>
</body>
</html>
2,登录功能,包括两个页面
login.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>
<script type="text/javascript">
//js方法验证用户名密码是否为空
function yanzh()
{
if(form1.user.value == "")
{
alert("用户名不能为空");
return false;
}
else if(form1.password.value == "")
{
alert("密码不能为空");
return false;
}
else
{
return true;
}
}
</script>
</head>
<body>
<!-- 登录表单 -->
<form action="logac.jsp" name="form1" id="from1" onsubmit="return yanzh()" method="post">
请登录
<br>
用户名:<input type="text" name="user" id="user">
<br>
密码:<input type="password" name="password" id="password">
<br>
<input type="submit" value="登录"> <a href="zhuce.jsp">注册</a>
</form>
</body>
</html>
logac.jsp登录处理页面
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>登录处理页</title>
8 </head>
9 <body>
10
11 <%
12
13 //接收登录表单用户名,密码
14 String user = request.getParameter("user");
15 String password = request.getParameter("password");
16
17 //如果没有收到用户名,跳转错误页面
18 if(user == null || user.trim().length() == 0)
19 {
20 response.sendRedirect("cuowu.jsp?mes=1");
21 }
22
23 //如果没有收到密码,跳转错误页面
24 else if(password == null || password.trim().length() == 0)
25 {
26 response.sendRedirect("cuowu.jsp?mes=2");
27 }
28
29 //
30 else
31 {
32
33 //取出用户名对应的application对象
34 Object o = application.getAttribute(user);
35
36 //如果没找到application对象
37 if(o == null)
38 {
39 //跳转到错误页面
40 response.sendRedirect("cuowu.jsp?mes=6");
41 }
42
43 //如果找到
44 else
45 {
46
47 //从application对象中取出昵称,密码
48 String inich = o.toString().split("#")[1];
49 String ipassw = o.toString().split("#")[2];
50
51 //判断密码如果正确
52 if(ipassw.trim().equals(password.trim()))
53 {
54 //登录成功输出欢迎信息
55 String zhnich = new String(inich.getBytes("iso-8859-1"),"utf-8");//中文乱码处理
56 out.print("欢迎" + zhnich + "登录!" + " <a href='liuyan.jsp'>留言</a> <a href='zhuxiao.jsp'>注销</a>");
57
58 //创建会话对象,存入昵称
59 session.setAttribute("user", zhnich);
60 }
61
62 //如果密码错误,跳转错误页面
63 else
64 {
65 response.sendRedirect("cuowu.jsp?mes=7");
66 }
67 }
68 }
69
70
71 %>
72
73 </body>
74 </html>
3.留言功能,一个页面,liuyan.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <%@ page import = "java.util.*" %>
4 <%@ page import ="java.text.*" %>
5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
6 <html>
7 <head>
8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
9 <title>留言簿</title>
10 <%
11
12 String userName = "";
13
14 //检查登录状态
15 Object o = session.getAttribute("user");
16
17 //如果会话不存在,说明登录失效,跳转错误页面
18 if(o == null)
19 {
20 response.sendRedirect("cuowu.jsp?mes=8");
21 }
22 //如果存在,取留言人
23 else
24 {
25 userName = o.toString();
26 }
27
28 //获取表单留言
29 String liuyan = request.getParameter("liuyan");
30
31 //如果留言不为空
32 if(liuyan != null && liuyan != "")
33 {
34
35 String strly = new String(liuyan.getBytes("ISO-8859-1"),"utf-8");
36
37 //附加时间信息
38 Date dt = new Date();
39 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
40
41 //获取以liuyan为名称的application对象
42 Object obj = application.getAttribute("liuyan");
43 ArrayList<String> A;
44
45 //如果对象为空,说明这是第一条留言,则创建集合类对象A
46 if(obj == null)
47 {
48 A = new ArrayList<String>();
49 }
50
51 //如果不为空将以前的留言赋给集合A
52 else
53 {
54 A = (ArrayList<String>)obj;
55 }
56
57 //将新留言信息加入集合
58 A.add(strly + " 留言日期:" +df.format(dt) + " 留言人:" + userName);
59
60 //将留言集合A写入application对象
61 application.setAttribute("liuyan", A);
62
63 }
64
65 //如果没有输入留言就提交表单则刷新页面而不输出
66 else
67 {
68
69 }
70
71 %>
72
73
74 </head>
75 <body>
76
77 最新留言:<br><br>
78 <%
79
80 //留言编号
81 int n = 1;
82
83 //获取以liuyan为名称的application对象
84 Object obj = application.getAttribute("liuyan");
85
86 //如果不为空,遍历集合A,输出留言信息
87 if(obj != null)
88 {
89
90 ArrayList<String> A = (ArrayList<String>)obj;
91
92 for(int i = A.size()-1; i >= 0; i--)
93 {
94
95 out.print(n + "." + A.get(i) + "<br>");
96 n++;
97 }
98 }
99
100 %>
101 <form>
102 <br>请输入留言内容:<br>
103 <textarea rows=10 cols =30 name="liuyan"></textarea><br>
104
105 <input type="submit" value="提交">
106 <br>
107 <a href="zhuxiao.jsp">注销</a>
108 </form>
109 </body>
110 </html>
4.公共页面
cuowu.jsp错误提示页面
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>错误显示跳转页</title>
8 </head>
9 <body>
10
11 <%
12
13 //接收错误代码
14 String mes = request.getParameter("mes");
15
16 //如果没有收到,或者不是正整数,提示出错
17 if(mes == null || !(mes.matches("\\d+")))
18 {
19 out.print("请正确传递错误代码!");
20 }
21 else
22 {
23 int imes = Integer.parseInt(mes);
24 //根据错误代码输出相应错误信息
25 switch(imes)
26 {
27 case 1 :
28 out.print("用户名无效");
29 break;
30 case 2 :
31 out.print("密码无效");
32 break;
33 case 3 :
34 out.print("昵称无效");
35 break;
36 case 4 :
37 out.print("用户已存在");
38 break;
39 case 5 :
40 out.print("注册成功!稍后转到登录页面");
41 break;
42 case 6 :
43 out.print("用户不存在");
44 break;
45 case 7 :
46 out.print("密码错误");
47 break;
48 case 8 :
49 out.print("登录已失效,请重新登录");
50 break;
51 default:
52 out.print("无效的错误代码");
53 break;
54
55 }
56
57 }
58 //3秒后重定向至登录页面
59 response.setHeader("refresh", "3;URL=login.jsp");
60
61 %>
62
63
64 </body>
65 </html>
zhuxiao.jsp注销页面
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>注销处理</title>
8 </head>
9 <body>
10 <%
11 //注销会话后跳转至登录页面
12 session.invalidate();
13 response.sendRedirect("login.jsp");
14 %>
15 </body>
16 </html>
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/109227.html原文链接:https://javaforall.cn