我的第一个jsp程序-实现注册登录留言功能

我的第一个jsp程序-实现注册登录留言功能

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 +  " &nbsp;&nbsp;&nbsp;留言日期:" +df.format(dt) + " &nbsp;&nbsp;&nbsp;留言人:" + 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>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109227.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 树莓派初次使用(史上最全最详细教程!!)「建议收藏」

    树莓派初次使用(史上最全最详细教程!!)「建议收藏」由于自己电脑装虚拟机莫名的卡,所以搞个树莓派来当我的私密环境(嘿嘿,别想歪了!!!)废话不多说,我们开始吧!所需材料:树莓派系统,Win32DiskImager工具(用来把系统写到内存卡上),AngryIPscaner(用来扫描树莓派的IP地址),x-shell(远程登录工具)树莓派板子(我的是3代的板子),电源(我用的是我旧的安卓手机充电器与线)一个16GTF内存卡(以前的手机内

    2022年10月14日
  • 使用 Java DB (Derby) 数据库

    使用 Java DB (Derby) 数据库使用JavaDB(Derby)数据库https://netbeans.org/kb/docs/ide/java-db_zh_CN.html本文档说明了如何在NetBeansIDE中设置与JavaDB数据库的连接。在建立连接之后,即可开始在IDE中使用该数据库,您可以执行的操作包括创建表、用数据填充表、运行SQL语句和查询等。…

  • 新手学计算机编程怎么入门 从哪学起

    新手学计算机编程怎么入门 从哪学起近些年有一种职业发展很快、人才需求量大、工资高,那就是程序员。他们的基本工作就是电脑编程,开发者各种各样的软件、APP,被很多人膜拜。如果你想成为一名程序员,有必要了解一下这些基本的电脑编程入门教程。1计算机编程怎么入门1、选择一门编程语言。虽然目前编程语言有600种左右,但是比较流行的编程语言只有几十种,所以尽量选择流行程度比较高的编程语言来入门编程。对于没有明确编程场景的初学者来说,尽量选择全场景编程语言,比如Java、Python、就是不错的选择,不仅应用范围广泛,而且也有大量的开发案例可以参

  • python 文档注释快捷键,python注释快捷键是什么「建议收藏」

    python 文档注释快捷键,python注释快捷键是什么「建议收藏」python注释快捷键:1、单行注释是【#】,Mac的快捷键是【command+/】,windows的快捷键是【Ctrl+/】;2、多行注释是三个单引号【”’注释”’】。g1m少儿编程网-https://www.pxcodes.comg1m少儿编程网-https://www.pxcodes.com本教程操作环境:windows7系统、python3.9版,DELLG3电脑。g1m少儿编程…

  • java基础API

    java基础APIJava常用类库1.API(1)ApplicationProgrammingInterface,应用程序接口。是一些预先定义的类和接口,或指软件系统不同组成部分衔接的约定。(2)API说明文档API文档查看方式:第一步选择包,第二步,选择类或接口,第三步查看类和接口的使用说明,右边的区域。右边的区域分为五块,分别为类的定义和功能介绍、属性的介绍、构造器的介绍、构造器的介绍、方法的列表、每个方法的使用详细说明。2、java.lang包(1)这是我们api中最基础的一个包(2)该包下面的

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号