怎么在Java项目中利用servlet实现一个自动登录退出功能

  介绍

怎么在Java项目中利用servlet实现一个自动登录退出功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强> UserDao。java从数据库中查询用户名与密码

//登录   public  User 登录(User 用户),throws  SQLException  {   QueryRunner  qr =, new  QueryRunner (DataSourceUtils.getDataSource ());   String  sql =,“select 得到user  where  username =, ?,以及password =, ?“   return  qr.query (sql, new  BeanHandler (User.class) user.getUsername (), user.getPassword ());   }   UserService.java   public  User 登录(User 用户){   try  {   return  ud.login(用户);   },catch  (SQLException  e), {//,TODO  Auto-generated  catch 块   e.printStackTrace ();   }   return 零;   }

<强> UserServlet。java实现登录功能

//登录   public  void 登录(HttpServletRequest 请求,   HttpServletResponse 响应),throws  IOException, IllegalAccessException,, InvocationTargetException, ServletException {   Map

<>强工具类:AutoLoginFilter。java用来实现自动登录

package  com.yinhe.web.filter;   import  java.io.IOException;   import  javax.servlet.Filter;   import  javax.servlet.FilterChain;   import  javax.servlet.FilterConfig;   import  javax.servlet.ServletException;   与javax . servlet . servletrequest import ;   import  javax.servlet.ServletResponse;   import  javax.servlet.http.Cookie;   import  javax.servlet.http.HttpServletRequest;   import  javax.servlet.http.HttpServletResponse;   import  com.yinhe.bean.User;   import  com.yinhe.service.UserService;   public  class  AutoLoginFilter  implements 过滤{br/祝辞@Override   doFilter (ServletRequest  public  void ;请求,,ServletResponse 反应,   FilterChain 链),throws  IOException, ServletException  {   HttpServletRequest  req =, (HttpServletRequest)请求;   HttpServletResponse  resp =, (HttpServletResponse)反应;//是否已登录   if  (req.getSession () .getAttribute (“user"),==, null){//如果已登录,则啥都不干//判断饼干中有没有账户密码   饼干[],cookies =, req.getCookies ();   if  (cookies  !=, null) {   String  username =,““   String  userpass =,““   时间:for  (Cookie  Cookie 饼干),{   if  (cookie.getName () .equals (“username")){//找到感兴趣的饼干   时间=username  cookie.getValue ();   }   if  (cookie.getName () .equals (“password")){//找到感兴趣的饼干   时间=userpass  cookie.getValue ();   }   }   UserService  us =, new  UserService ();   User  User =, new 用户();   user.setUsername(用户名);   user.setPassword (userpass);   if  (us.login(用户),!=,null) {   req.getSession () .setAttribute (“user",,用户);   }   }   }   chain.doFilter(请求,响应);br/祝辞}   @Override   filterConfig public  void  init (FilterConfig ), throws  ServletException  {//,TODO  Auto-generated  method  stubbr/祝辞}   @Override   public  void 破坏(),{//,TODO  Auto-generated  method 存根   }   }

<>强前台:登录。jsp此单选框被选中下次访问即为自动登录

怎么在Java项目中利用servlet实现一个自动登录退出功能