Java WEB 用户登录+Cookie技术

  

 

login.jsp................................用户登录页面

dologin.jsp............................处理用户登录逻辑,验证用户登录,保存用户登录状态到Session

user.jsp.................................读取Seesion状态,显示用户信息

login.jsp代码示例:

 1 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>Cookie</title>
13     <meta http-equiv="pragma" content="no-cache">
14     <meta http-equiv="cache-control" content="no-cache">
15     <meta http-equiv="expires" content="0">    
16     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
17     <meta http-equiv="description" content="This is my page">
18     <!--
19     <link rel="stylesheet" type="text/css" href="styles.css">
20     -->
21   </head>
22   
23   <body>
24   <%
25        String username = "";
26        String password = "";
27        Cookie[] cookies = request.getCookies();
28        if(cookies != null && cookies.length > 0)
29        {
30            for(Cookie c : cookies)
31            {
32                if(c.getName().equalsIgnoreCase("username"))
33                {
34                    username = c.getValue();
35                }
36                if(c.getName().equalsIgnoreCase("password"))
37                {
38                    password = c.getValue();
39                }
40            }
41        }
42        
43        %>
44           <center>
45               <h1>用户登陆</h1>
46               <hr>
47               <form action="dologin.jsp" method="post" name="loginFrom">
48                   <table>
49                       <tr>
50                           <td>用户名:</td>
51                           <td><input type="text" name="username" value="<%=username%>" /></td>
52                       </tr>
53                       
54                       <tr>
55                           <td>密码:</td>
56                           <td><input type="password" name="password" value="<%=password %>" /></td>
57                       </tr>
58                       
59                       <tr>
60                           <td  colspan="2" align="center"><input type="checkbox" checked="checked" name="isUseCookie" />记住登陆信息</td>
61                       </tr>
62                       
63                       <tr>
64                           <td  colspan="2" align="center"><input type="submit" value="登陆" /></td>
65                       </tr>
66                                         
67                   </table>
68               </form>
69           </center>
70   </body>
71 </html>

dologin.jsp代码:

 1 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>My JSP 'dologin.jsp' starting page</title>
13     
14     <meta http-equiv="pragma" content="no-cache">
15     <meta http-equiv="cache-control" content="no-cache">
16     <meta http-equiv="expires" content="0">    
17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
18     <meta http-equiv="description" content="This is my page">
19     <!--
20     <link rel="stylesheet" type="text/css" href="styles.css">
21     -->
22 
23   </head>
24   
25   <body>
26     <%
27         //首先判断用户是否选择了记住登陆状态
28         String[] isUseCookie = request.getParameterValues("isUseCookie");
29         if(isUseCookie != null && isUseCookie.length > 0)
30         {
31             //把用户名和密码保存在Cookie对象里面
32             String username = request.getParameter("username");
33             String password = request.getParameter("password");
34             Cookie usernameCookie = new Cookie("username",username);
35             Cookie passwordCookie = new Cookie("password",password);
36             usernameCookie.setMaxAge(86400);
37             passwordCookie.setMaxAge(86400);
38             response.addCookie(usernameCookie);
39             response.addCookie(passwordCookie);
40         }
41         else 
42         {
43             //已保存Cookie设置失效
44             Cookie[] cookies = request.getCookies();
45             if(cookies != null && cookies.length > 0)
46             {
47                 for(Cookie c : cookies)
48                 {
49                     if(c.getName().equalsIgnoreCase("username") || c.getName().equalsIgnoreCase("password"))
50                     {
51                         c.setMaxAge(0); //设置Cookie失效
52                         response.addCookie(c); //重新保存Cookie
53                     }
54                 }
55             }
56         }
57      %>
58      <a href="users.jsp" target="_blank">查看用户信息</a>
59   </body>
60 </html>
View Code

users.jsp代码:

 1 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>My JSP 'users.jsp' starting page</title>
13     
14     <meta http-equiv="pragma" content="no-cache">
15     <meta http-equiv="cache-control" content="no-cache">
16     <meta http-equiv="expires" content="0">    
17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
18     <meta http-equiv="description" content="This is my page">
19     <!--
20     <link rel="stylesheet" type="text/css" href="styles.css">
21     -->
22 
23   </head>
24   
25   <body>
26    <%
27        String username = "";
28        String password = "";
29        Cookie[] cookies = request.getCookies();
30        if(cookies != null && cookies.length > 0)
31        {
32            for(Cookie c : cookies)
33            {
34                if(c.getName().equalsIgnoreCase("username"))
35                {
36                    username = c.getValue();
37                }
38                if(c.getName().equalsIgnoreCase("password"))
39                {
40                    password = c.getValue();
41                }
42            }
43        }
44     %>
45     <center>
46         <h1>用户信息</h1>
47         <hr>
48          用户名:<%=username %>
49          <br>
50          密码:<%=password %>
51     </center>
52    
53   </body>
54 </html>
users.jsp

 

posted @ 2017-08-27 14:28  cityhuntshou  阅读(4896)  评论(0编辑  收藏  举报