1
package lesson3_2.cookie;
2
/**
3
* 使用Cookie技术实现淘宝网效果,
4
* 用户第一访问显示显示用户登录(输入姓名)界面
5
* 当用户登陆一次,以后不需要在登陆并在页面显示“XXX,欢迎您“
6
*
7
*/
8
import javax.servlet.*;
9
import javax.servlet.http.*;
10
import java.io.*;
11
import java.util.*;
12![](/Images/OutliningIndicators/None.gif)
13
public class CookieLoginServlet extends HttpServlet {
14
private static final String CONTENT_TYPE = "text/html; charset=GBK";
15![](/Images/OutliningIndicators/InBlock.gif)
16
//Initialize global variables
17
public void init() throws ServletException {
18
}
19![](/Images/OutliningIndicators/InBlock.gif)
20
//Process the HTTP Get request
21
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
22
ServletException, IOException {
23
24
request.setCharacterEncoding("gbk");
25
response.setContentType(CONTENT_TYPE);
26
27
PrintWriter out = response.getWriter();
28
// 获得输入的用户名
29
String userName =request.getParameter("userName");
30
// 从客户端读取Cookie
31
Cookie cookie[] = request.getCookies();
32
33
// 声明一个引用来存放找到的Cookie
34
Cookie myCookie = null;
35
36
// 如果客户端有Cookie,则查找有没有与userName值相同的Cookie
37
if (cookie != null) {
38
for (int i = 0; i < cookie.length; i++) {
39
if (cookie[i].getName().equals("userName")) {
40
myCookie = cookie[i];
41
break;
42
}
43
}
44
}
45
// 没有找到与当前输入的名称相同的Cookie时,则把当前的用户写到Cookie
46
if(userName!=null&&!userName.equals(""))
47
{
48
Cookie newCookie = new Cookie("userName",userName);
49
newCookie.setMaxAge(60*60*24);
50
response.addCookie(newCookie);
51
myCookie=newCookie;
52
}
53![](/Images/OutliningIndicators/InBlock.gif)
54
// 客户端有Cookie时,则读取Cookie,并显示欢迎,否则显示登录页面
55
if (myCookie!=null) {
56
out.println(myCookie.getValue() + ":欢迎您登录");
57
} else {
58![](/Images/OutliningIndicators/InBlock.gif)
59
out.println("<html>");
60
out.println("<head><title>SendServlet</title></head>");
61
out.println("<body bgcolor=\"#ffffff\">");
62
out.println(
63
"<form action = '/WebModule/cookieloginservlet' method = 'post'>");
64
out.println("<input type='text' name='userName'/>");
65
out.println("<input type = 'submit' value = '登录'/>");
66
out.print("</form>");
67
out.println("</body>");
68
out.println("</html>");
69
}
70
}
71![](/Images/OutliningIndicators/InBlock.gif)
72
//Process the HTTP Post request
73
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
74
ServletException, IOException {
75
doGet(request, response);
76
}
77![](/Images/OutliningIndicators/InBlock.gif)
78
//Clean up resources
79
public void destroy() {
80
}
81
}
82![](/Images/OutliningIndicators/None.gif)
83![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
38
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
44
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/InBlock.gif)
69
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
70
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
71
![](/Images/OutliningIndicators/InBlock.gif)
72
![](/Images/OutliningIndicators/InBlock.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
77
![](/Images/OutliningIndicators/InBlock.gif)
78
![](/Images/OutliningIndicators/InBlock.gif)
79
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
80
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
81
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
82
![](/Images/OutliningIndicators/None.gif)
83
![](/Images/OutliningIndicators/None.gif)