介绍
怎么在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实现一个自动登录退出功能