广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java web实现自动登录
  • 560
分享到

java web实现自动登录

javaweb自动登录 2022-11-12 10:11:33 560人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了JAVA WEB实现自动登录的具体代码,供大家参考,具体内容如下 实现思路 1、在登录的 api 或 servlet中验证用户名密码 2、如果验证成功,则把该用户

本文实例为大家分享了JAVA WEB实现自动登录的具体代码,供大家参考,具体内容如下

实现思路

1、在登录的 api 或 servlet中验证用户名密码
2、如果验证成功,则把该用户信息存在 服务器 的 session 缓存中,并把 可以表示该用户的 信息存在 cookie中返回。例如: 


//存储 session 
  request.getSession().setAttribute("userBean", queryUser);
 Cookie cookie = new Cookie("auto_login", username + "#" + passWord);
// 创建 cookie
    cookie.setMaxAge(60*60*24*7);  //设置时间为 一周
    cookie.setPath(request.getContextPath());
    response.addCookie(cookie);

3、创建一个过滤器,拦截所有的用户请求
4、在该过滤器中做相应的逻辑处理,如下:

  • 获取 服务器 session 缓存中同名的session。例如: UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
  • 验证是否为空,不为空说明用户登陆之后没有关闭浏览器 ,直接让请求通过过滤器,并定位到相应界面
  • 如果session为空,说明用户 从上一次登陆后关闭过浏览器,则 获取 用户请求中的cookie,验证是否有我们定义的可以标识用户的特殊cookie。
  • 如果没有改cookie ,则直接返回登陆界面。
  • 如果有该cookie,则通过cookie中的信息查新到用户的信息,并跳转到用户想跳转的界面

核心代码示例

servlet 登陆逻辑代码


package com.wl.servlet;

import com.wl.dao.UserDao;
import com.wl.dao.daoImpl.UserDaoImpl;
import com.wl.domain.UserBean;

import javax.servlet.ServletException;
import javax.servlet.annotation.WEBServlet;
import javax.servlet.Http.Cookie;
import javax.servlet.http.httpservlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;

@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        try {
            String username = request.getParameter("username");
            String password = request.getParameter("password");
            String autoLogin = request.getParameter("auto_login");

            System.out.println(username + " = " + password + "  " + autoLogin);
            UserBean userBean = new UserBean();
            userBean.setPassword(password);
            userBean.setUsername(username);
            UserDao userDao = new UserDaoImpl();
            UserBean queryUser = userDao.login(userBean);
            if(queryUser != null){
                if("on".equals(autoLogin)){
                    Cookie cookie = new Cookie("auto_login", username + "#" + password);
                    cookie.setMaxAge(60*60*24*7);
                    cookie.setPath(request.getContextPath());
                    response.addCookie(cookie);
                }
                request.getSession().setAttribute("userBean", queryUser);
                response.sendRedirect("index.jsp");
            }else {
                request.getSession().setAttribute("errorInfo", "用户名密码不正确");
                request.getRequestDispatcher("login.jsp").forward(request,response);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

filter 过滤器核心代码


package com.wl.filter;

import com.wl.dao.UserDao;
import com.wl.dao.daoImpl.UserDaoImpl;
import com.wl.domain.UserBean;
import util.CookieUtil;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.sql.SQLException;

@WebFilter(filterName = "AutoLoginFilter")
public class AutoLoginFilter implements Filter {
    public void destroy() {
    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        HttpServletRequest request = (HttpServletRequest) req;

        UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
        if(userBean != null){
            chain.doFilter(req, resp);
        } else {
            Cookie[] cookies = request.getCookies();
            Cookie auto_login = CookieUtil.findCookie(cookies, "auto_login");
            if(auto_login == null) {
                chain.doFilter(req,resp);
            } else {
                String value = auto_login.getValue();
                String username = value.split("#")[0];
                String password = value.split("#")[1];
                UserBean user = new UserBean();
                user.setUsername(username);
                user.setPassword(password);
                UserDao dao = new UserDaoImpl();
                try {
                    UserBean login = dao.login(user);
                    request.getSession().setAttribute("userBean", login);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                chain.doFilter(req, resp);
            }
        }
        chain.doFilter(req, resp);
    }
    public void init(FilterConfig config) throws ServletException {

    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: java web实现自动登录

本文链接: https://www.lsjlt.com/news/132622.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java web实现自动登录
    本文实例为大家分享了java web实现自动登录的具体代码,供大家参考,具体内容如下 实现思路 1、在登录的 api 或 servlet中验证用户名密码 2、如果验证成功,则把该用户...
    99+
    2022-11-12
    java web 自动登录
  • java web如何实现自动登录功能
    这篇文章主要介绍java web如何实现自动登录功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下主要思路就是:当用户访问网站的首页时,浏览器端会先检擦浏览器中存在的cookie中是否又登录的用户的用户名...
    99+
    2023-05-31
    java web
  • Java Web实现自动登陆功能
    Java对自动登陆功能的简单实现,仅用到了servlet和一个filter。第一次写博文,如有不足的地方,敬请指正,谢谢。 登陆界面 <%@ page language="...
    99+
    2022-11-12
    Java Web 自动登陆
  • vbs实现web自动登录网站的方法
    目录一,编写vbs二,配置为开机自启背景:我们的电脑需要开机登录一个网址输入信息才能够上网,这样对远程的话,很不友好。因此查了查vbs可以进行开机在网页上自动登录,实现开机联网。(不...
    99+
    2022-11-13
    vbs自动登录网站 vbs自动登录 vbs web自动登录
  • java使用Filter实现自动登录的方法
    本文实例为大家分享了java实现自动登录的具体代码,供大家参考,具体内容如下 当你勾选(记住登录状态),用cookie保存用户名和密码。不勾选,cookie失效。 所有的页面都要经过autoLoginFilter.java 的过滤器,在...
    99+
    2023-05-31
    java filter 自动登录
  • Java Web实现用户登录功能
    文章目录 一、纯JSP方式实现用户登录功能(一)实现思路1、创建Web项目2、创建登录页面3、创建登录处理页面4、创建登录成功页面5、创建登录失败页面6、编辑项目首页 (三)测试结果 ...
    99+
    2023-10-02
    java 前端 servlet
  • putty怎么实现自动登录
    本篇内容主要讲解“putty怎么实现自动登录”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“putty怎么实现自动登录”吧!登录主机并输入ssh-keygen -t rsa 提示Enter fil...
    99+
    2023-06-09
  • 如何实现except自动登录
    这篇文章主要为大家展示了“如何实现except自动登录”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现except自动登录”这篇文章吧。代码如下:#!/usr/bin/expect -fs...
    99+
    2023-06-09
  • Vista如何实现自动登录
    这篇文章主要介绍了Vista如何实现自动登录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。            ...
    99+
    2023-06-14
  • php如何实现自动登录
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。首先在用户第一次登陆的时候,如果勾选了一周内免登陆,则在登陆操作完成之后,存储一个自动登录的cookie,这个cookie可以是“$value是用户的&quo...
    99+
    2015-06-25
    php 自动登录
  • JavaWeb实现自动登录功能
    本文实例为大家分享了JavaWeb实现自动登录功能的具体代码,供大家参考,具体内容如下 自动登录是通过存储cookie值来实现的。 工程目录如下: login.jsp: <...
    99+
    2022-11-12
    javaweb 自动登录
  • Appium+Python实现自动化登录
    #Appium+Python实现自动化测试 Appium简介 官方的概述为: Appium is an open source test automation framework for use with native, hybrid...
    99+
    2023-01-31
    Appium Python
  • 如何实现ssh expect自动登录
    这篇文章给大家分享的是有关如何实现ssh expect自动登录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现:ssh远程登录,每次都要指定一堆用户名和密码,现要求实现自动登录。登录流程:本地A 先登录到 B ...
    99+
    2023-06-09
  • Android:利用SharedPreferences实现自动登录
    本文介绍了Android:利用SharedPreferences实现自动登录,具体如下: 主要代码: public class LoginActivity extends...
    99+
    2022-06-06
    自动 Android
  • Java-web实现用户登录、注册功能
    源码在资源里 目录 环境搭建数据库 用户登录需求分析代码实现编写UserMapper类编写User类编写loginServlet类编写login.html编写login.css ...
    99+
    2023-10-10
    java 前端 servlet
  • Linux实现自动登录的实例讲解
    使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄、收藏。可是为什么要这么写却不知其然。本文用一个最短的例子说明脚本的原理。 脚本代码如下: #!/usr/bin/expec...
    99+
    2022-06-04
    Linux 自动登录
  • VBS如何实现自动登录论坛
    这篇文章将为大家详细讲解有关VBS如何实现自动登录论坛,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:on error resume nexturl = " http://www.bat...
    99+
    2023-06-08
  • php 怎么实现七天自动登录
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php 怎么实现七天自动登录?PHP实现一周内自动登陆:新建四个文件 show.php<php > <html > <head> ...
    99+
    2014-09-26
    PHP
  • python3实现自动登录网页版QQ
    最近一直想搞一个自动登录的程序,今天琢磨了一会,也搞出来了。不过功能不多。但是对我来说,也是一个小小的进步吧。知识日积月累,自然就会的多了。废话不多说,代码最实际了。 环境: 系统: windows10 IDE开发工具:Pycharm ...
    99+
    2023-01-31
    自动登录 网页 QQ
  • php如何实现七天自动登录
    这篇文章主要讲解了“php如何实现七天自动登录”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现七天自动登录”吧!php实现七天自动登录的方法:1、新建show.php文件实现登录...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作