Javaweb 自动登录 详细讲解
来源:互联网 发布:自动化编程是什么 编辑:程序博客网 时间:2024/06/05 16:23
***> Filter过滤端*** public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { //强转成HttpServlet HttpServletRequest request= (HttpServletRequest) req; HttpServletResponse response= (HttpServletResponse) resp; //获取客户端的cookie Cookie[] cookies=request.getCookies(); //根据提交的JSESSIONID来检索session是否已创建(每次会话服务器返给浏览器的JSESSIONID不同) User user= (User) request.getSession().getAttribute("user"); //如果不为空说明是在同一会话中进行操作 if(user!=null){ System.out.println("不为空"); }else{ //为空说明重新开启会话,根据客户端的cookie 来获取需要自动登录的用户名和密码 System.out.println("为空,重新加载"); if(cookies!=null){ String username=cookies[1].getValue(); System.out.println(username); String password=cookies[2].getValue(); System.out.println(password); //对用户名和密码进行数据库连接查询 ComboPooledDataSource cpd=new ComboPooledDataSource(); QueryRunner qr=new QueryRunner(cpd); String sql="select * from manager where M_name=? and M_password=?"; try { user=qr.query(sql,new BeanHandler<User>(User.class),username,password); //将查询到的数据封装成Javabean 然后设置session属性 request.getSession().setAttribute("user",user); } catch (SQLException e) { e.printStackTrace(); } } } chain.doFilter(request, response); }
***> Servlet数据处理端*** //servlet获取form提交的数据 String name=request.getParameter("username"); String password=request.getParameter("password"); String autoLogin=request.getParameter("autoLogin"); //根据用户名和密码进行连接数据库查证,如有此用户返回所有数据,并被封装成Javabean ComboPooledDataSource cpd=new ComboPooledDataSource(); QueryRunner qr=new QueryRunner(cpd); String sql="select * from manager where M_name=? and M_password=?"; try { User user=qr.query(sql,new BeanHandler<User>(User.class),name,password); if(user!=null){ //如果用户选择了自动登录则将用户的信息返回到浏览器,以便下次会话使用验证(未进行密码加密) if(autoLogin.equals("ok")){ Cookie cookieName=new Cookie("username",name); Cookie cookPassword=new Cookie("password",password); cookieName.setMaxAge(24*60*60); cookPassword.setMaxAge(24*60*60); cookieName.setPath(request.getContextPath()+"/"); cookPassword.setPath(request.getContextPath()+"/"); response.addCookie(cookieName); response.addCookie(cookPassword); } //将个人数据设置到session中 request.getSession().setAttribute("user",user); response.sendRedirect("/testWeb/success.jsp"); }else{ System.out.println("空"); } } catch (SQLException e) { e.printStackTrace(); }
阅读全文
0 0
- Javaweb 自动登录 详细讲解
- javaweb自动登录(cookie)
- JavaWeb-020-Cookie自动登录
- javaWeb--自动登录功能的完成
- JavaWeb之过滤器实现自动登录案例
- 终端自动打包ipa详细讲解
- javaweb用户的自动登录模块的实现
- JavaWeb 过滤器实现30天内自动登录
- 重新学javaweb---过滤器应用--30天自动登录
- javaweb登录
- cas单点登录实例生成过程详细讲解
- Linux忘记root登录密码(非常详细的图文讲解)
- cas单点登录实例生成过程详细讲解
- 详细讲解
- javaWEB上传文件讲解
- 让Windows 7自动显示详细登录时间
- JavaWeb -- Session实例 -- 自动登录 和 防止表单重复提交(令牌产生器) MD5码
- JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤
- Tomcat中Set-Cookie的Domain错误导致无法登录问题
- Java环境变量配置的作用意义
- JSP中使用<c:if>使用后台参数
- 几种简单的Dialog对话框
- 深入浅出JMS(一)--JMS基本概念
- Javaweb 自动登录 详细讲解
- 滑屏效果实现
- 各种音视频编解码学习详解
- Resnet Cifar-10调试
- word-break
- Notes on Tensorflow
- hdu6106Classes(交集计算集合)
- 基于maven发送邮件系列(2)---用spring的timer实现定时发送邮件
- Java 验证表单工具类,史上最全