当前位置:编程学习 > JAVA >>

JSP+Cookie 自动登录 checkbox

新手  求大神庇佑!
----------Servlet------------------------
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
String name = request.getParameter("nickname");
String password = request.getParameter("password");
                 //checkbox的name  autologin
String auto = request.getParameter("autologin");

ICustomerService service = new CustomerServiceImpl();

Customer c = service.login(name, password);
PrintWriter out = response.getWriter();
if (c != null) {
// 上面是判断密码正确与否
session.setAttribute("customer", c);
if (auto != null) {
Cookie user = new Cookie("user", name);
Cookie pass = new Cookie("pass", password);
user.setMaxAge(400);
pass.setMaxAge(400);
response.addCookie(user);
response.addCookie(pass);
}

response.sendRedirect("../jsp/goodslist.jsp");

} else {
out.println("../jsp/register.jsp");

}
out.flush();
out.close();

}
-------------------------------Login.jsp---------------------------
<%
Cookie[] cookies = request.getCookies();
String nickname = null;
String password = null;
if (cookies != null) {
System.out.println("you cookie!=" + cookies.length);
for (Cookie cookie : cookies) {
String name = cookie.getName();
System.out.println(name);
if ("user".equals(name)) {
nickname = cookie.getValue();
}
if ("pass".equals(name)) {
password = cookie.getValue();
}

}
if (nickname != null && password != null) { response.sendRedirect("servlet/LoginServlet?nickname="
+ nickname + "&password=" + password);

}
}
%>
Cookie JSP CheckBox --------------------编程问答-------------------- servlet  完整代码
import java.io.IOException;


import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.briup.bean.Customer;
import com.briup.service.CustomerServiceImpl;
import com.briup.service.ICustomerService;

public class LoginServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
String name = request.getParameter("nickname");
String password = request.getParameter("password");
String auto = request.getParameter("autologin");

ICustomerService service = new CustomerServiceImpl();

Customer c = service.login(name, password);

response.setContentType("text/html;charset=gbk");
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
if (c != null) {
// 利用Filter未登陆的人到登陆界面
session.setAttribute("customer", c);
if (auto != null) {
Cookie user = new Cookie("user", name);
Cookie pass = new Cookie("pass", password);
user.setMaxAge(400);
pass.setMaxAge(400);
response.addCookie(user);
response.addCookie(pass);
}

response.sendRedirect("../jsp/goodslist.jsp");

} else {
out.println("../jsp/register.jsp");

}
// Cookie cookie= new Cookie("name", name);
// response.addCookie(cookie);
// out.print("chuan");
out.flush();
out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}

}
--------------------编程问答-------------------- login.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>
<base href="<%=basePath%>">

<title>My JSP 'login.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<%
Cookie[] cookies = request.getCookies();
String nickname = null;
String password = null;
if (cookies != null) {
System.out.println("you cookie!=" + cookies.length);
for (Cookie cookie : cookies) {
String name = cookie.getName();
System.out.println(name);
if ("user".equals(name)) {
nickname = cookie.getValue();
}
if ("pass".equals(name)) {
password = cookie.getValue();
}

}
if (nickname != null && password != null) {
response.sendRedirect("servlet/LoginServlet?nickname="
+ nickname + "&password=" + password);

}
}
%>
</head>

<body>

<form method="post" action="servlet/LoginServlet">
<table width="300" border="1">
<tr>
<td colspan="2" align="center">
欢迎登陆
</td>
</tr>
<tr>
<td width="100">
用户名
</td>
<td width="168">
<label>
<input type="text" name="nickname" />
</label>
</td>
</tr>
<tr>
<td>
密码
</td>
<td>
<label>
<input type="password" name="password" />
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="submit" name="button" id="button" value="提交" />
</label>
</td>
<td>
<label>
<input type="reset" name="button2" id="button2" value="重置" />
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="autologin" />
自动登录
</label>
</td>
<td>

注册页面
</td>
</tr>
</table>
</form>


</body>
</html>
--------------------编程问答-------------------- 请参考我的开源项目,基于spring,security,struts开发
http://blog.csdn.net/shadowsick --------------------编程问答-------------------- 求大神解释为什么我的不能保存登录  时间 --------------------编程问答-------------------- CSDN这么垃圾没?
--------------------编程问答-------------------- 我自己解决了 郁闷user.path("/")
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,