Servlet技术:cookie保存登录信息
接上一篇文章,修改servlet中的代码实现 cookie 保存登录信息
package cn.xtnotes.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 cn.xtnotes.pojo.User;
import cn.xtnotes.service.UserService;
public class Servlet extends HttpServlet {
UserService us=new UserService();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8"); //设置请求数据编码
response.setCharacterEncoding("utf-8");//设置响应数据编码
String uname=request.getParameter("uname");
String upwd=request.getParameter("upwd");
PrintWriter pw=response.getWriter();
if(uname!=null && upwd!=null) {
User u=us.login(uname,upwd);
if(u!=null) {
pw.print("用户"+u.getUsername()+"登录成功!");
Cookie coo=new Cookie("uname",uname);
coo.setMaxAge(20);
response.addCookie(coo);
}else {
pw.print("密码错误");
}
}else {
//用户名和密码缺失时,检查cookie中是否含有原来的登录信息
String cn=null;
for(Cookie cookie:request.getCookies()) {
if("uname".equals(cookie.getName())){
cn=cookie.getName();
}
if(cn!=null) {
pw.print("用户"+cookie.getName()+"登录成功!(cookie)");
}else {
pw.print("密码错误");
}
}
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
cookie保留时间 20 秒
用户登录后关闭浏览器,20秒内在打开本网站为登录成功状态
阅读剩余
版权声明:
作者:Tin
链接:http://www.tinstu.com/496.html
文章版权归作者所有,未经允许请勿转载。
THE END