首页 > 代码库 > Servlet-cookies机制
Servlet-cookies机制
通过cookies,可以保存用户的使用习惯,优化用户体验,同时能减轻服务端压力.下面说下在Servlet中cookies机制的使用
就用保存用户登录数据来举例子:
打开网页的处理Servlet:
package com.zhangwei;import java.io.*;import javax.servlet.http.*;public class CookiesPreCheck extends HttpServlet{ //处理get请求 public void doGet(HttpServletRequest req, HttpServletResponse res){ res.setContentType("text/html; charset=GBK"); Cookie[] cookiearray = req.getCookies(); if(cookiearray != null){ String username = null; String password = null; try{ PrintWriter pw = res.getWriter(); for(int i = 0; i<cookiearray.length;i++){ Cookie temp = cookiearray[i]; if(temp.getName().equals("username")){ username = new String(temp.getValue()); } if(temp.getName().equals("password")){ password = new String(temp.getValue()); } } pw.print(username+password); if(username!=null && password!= null){ HttpSession hs = req.getSession(true); hs.setAttribute("username",username); hs.setAttribute("password",password); res.sendRedirect("account"); return ; } }catch(Exception e){ e.printStackTrace(); } } try{ res.sendRedirect("login"); }catch(Exception e){ e.printStackTrace(); } } public void doPost(HttpServletRequest req, HttpServletResponse res){ this.doGet(req,res); }}
主要做了一件事情,检测本地的cookies,看里面是否保存了用户信息,如果有,那么就将用户信息写到session,如果没有就跳转到登录页面.
用户信息页面主要是从会话中获取并显示用户信息
登录页面主要是实现用户登录,并且将用户账号密码通过表单传递到登录处理页面
登录处理页面:
package com.zhangwei;import java.io.*;import javax.servlet.http.*;public class LoginCL extends HttpServlet{ //处理get请求 public void doGet(HttpServletRequest req, HttpServletResponse res){ res.setContentType("text/html; charset=GBK"); this.doPost(req,res); } public void doPost(HttpServletRequest req, HttpServletResponse res){ String username = req.getParameter("username"); String passwd = req.getParameter("passwd"); //验证,并且将用户数据写入session和cookies try{ HttpSession hs = req.getSession(true); hs.setAttribute("username",username); hs.setAttribute("password",passwd); Cookie c = new Cookie("username",username); Cookie e = new Cookie("password",passwd); //不设置有效时间的话cookies就不会被保存 c.setMaxAge(30); e.setMaxAge(30); //res.sendRedirect("account"); res.addCookie(c); res.addCookie(e); } catch (Exception e){ e.printStackTrace(); } }}
用户处理页面主要做的事情是验证用户信息,如果通过,就将用户信息写入session和cookies,然后跳转到用户页面(当然也可以只写入cookies,然后跳转到根目录)
Servlet-cookies机制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。