广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java Web实现自动登陆功能
  • 196
分享到

Java Web实现自动登陆功能

2024-04-02 19:04:59 196人浏览 八月长安

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

摘要

Java对自动登陆功能的简单实现,仅用到了servlet和一个filter。第一次写博文,如有不足的地方,敬请指正,谢谢。 登陆界面 <%@ page language="

Java对自动登陆功能的简单实现,仅用到了servlet和一个filter。第一次写博文,如有不足的地方,敬请指正,谢谢。

登陆界面


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
 <title>登陆页面</title>
  </head>
  <body>
     <fORM action="<%=request.getContextPath()%>/LoginAction" method="post">
      用户名:<input type=“text” name="name" > <br>
      密    码:<input type=“passWord” name="passwd" > <br>
     保存时间<select name="savetime">
      <option value="7">一    周</option>
      <option value="30">一个月</option>
     </select><br>
      <input type="submit" value="登陆">
    </form>
  </body>
</html>

填写完用户名和密码后选择保存时间。这里就没有设置不保存选项,默认保存时间是一周。

LoginBiz类,负责校验用户输入的用户名和密码是否正确。


package com.autologin;
 
public class LoginBiz  {
  static  boolean isValid(String name,String passwd){
  if(name.equals("admin")&&passwd.equals("1234")){
   return true;
  }else{
   return false;
  }
 }
}

本类为LoginAction提供服务,相当于Biz层。

LoginAction类,负责页面跳转。


package com.autologin;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.Http.Cookie;
import javax.servlet.http.httpservlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class LoginAction extends HttpServlet {
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  String name=request.getParameter("name");
  String passwd=request.getParameter("passwd");
  String savetimeString=request.getParameter("savetime");
  
  if(new LoginBiz().isValid(name, passwd)){
   int savetime=Integer.parseInt(savetimeString)*24*3600;
   Cookie loginInfo=new Cookie("loginInfo",name+","+passwd);
   loginInfo.setMaxAge(savetime);
   response.addCookie(loginInfo);
   response.sendRedirect("/TestWEB/success.jsp");
  }else{
   response.sendRedirect("/TestWeb/error.jsp");
  }
 }
 
}

用户第一次登陆时会调用此servlet来验证用户信息和设置cookie。根据登陆时的设置的时间计算出秒数,然后把保存有用户名和密码的Cookie(loginInfo)add到客户端。为了方便用户名和密码设置在了一个cookie中,用","隔开。(真正项目中,当然要给密码做加密处理。)

如果第一次成功登陆,再次请求login.jsp时即可直接跳转到success页面,无需再次输入用户名和密码,这里就用到了下面这个Filter。

CheckFilter类


package com.autologin;
 
import java.io.IOException;
 
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class CheckFilter implements Filter {
 
 public void destroy() {
  
 }
 
 public void doFilter(ServletRequest arg0, ServletResponse arg1,
   FilterChain arg2) throws IOException, ServletException {
  HttpServletRequest request=(HttpServletRequest)arg0;
  HttpServletResponse response=(HttpServletResponse)arg1;
  Cookie[] cookies=request.getCookies();
  String name = "";
  String passwd = "";
  if(cookies!=null){
   for(Cookie coo:cookies){
    if(coo.getName().equals("loginInfo")){
     String[] info=coo.getValue().split(",");
     name=info[0];
     passwd=info[1];
    }
   }
  }
  //如果在cookie中得到保存的用户名和密码,验证正确后,直接转到success页
  if(new LoginBiz().isValid(name, passwd)){
   response.sendRedirect("/TestWeb/success.jsp");
  }else{
   arg2.doFilter(request, response);
  }
 
 }
 public void init(FilterConfig arg0) throws ServletException {
  
 } 
 
}

当用户请求login.jsp页面时,首先会通过此Filter,这时会尝试从请求信息的Cookie中得到用户名和密码,如果是第一次登陆没有设置过Cookie,那么会把登陆请求交给LoginAction处理。如果之前成功登陆过,就已保存有Cookie,获取到正确的用户名和密码并验证成功(安全起见,这里再次验证)后直接跳转到success页面,此时就不经过LoginAction了。
配置文件如下:


<servlet>
    <servlet-name>LoginAction</servlet-name>
    <servlet-class>com.autologin.LoginAction</servlet-class>
  </servlet>
  <filter>
   <filter-name>CheckFilter</filter-name>
   <filter-class>com.autologin.CheckFilter</filter-class>
  </filter>
 
  <servlet-mapping>
    <servlet-name>LoginAction</servlet-name>
    <url-pattern>/LoginAction</url-pattern>
  </servlet-mapping> 
  <filter-mapping>
   <filter-name>CheckFilter</filter-name>
   <url-pattern>/login.jsp</url-pattern>
</filter-mapping>

第一次登陆成功后,chrome保存的Cookie信息

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

--结束END--

本文标题: Java Web实现自动登陆功能

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

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

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

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

下载Word文档
猜你喜欢
  • Java Web实现自动登陆功能
    Java对自动登陆功能的简单实现,仅用到了servlet和一个filter。第一次写博文,如有不足的地方,敬请指正,谢谢。 登陆界面 <%@ page language="...
    99+
    2022-11-12
  • java web如何实现自动登录功能
    这篇文章主要介绍java web如何实现自动登录功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下主要思路就是:当用户访问网站的首页时,浏览器端会先检擦浏览器中存在的cookie中是否又登录的用户的用户名...
    99+
    2023-05-31
    java web
  • Spring Security实现自动登陆功能示例
    当我们在登录像QQ邮箱这种大多数的网站,往往在登录按键上会有下次自动登录这个选项,勾选后登录成功,在一段时间内,即便退出浏览器或者服务器重启,再次访问不需要用户输入账号密码进行登录,...
    99+
    2022-11-12
  • Spring Security如何实现自动登陆功能
    这篇文章主要介绍Spring Security如何实现自动登陆功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!当我们在登录像QQ邮箱这种大多数的网站,往往在登录按键上会有下次自动登录这个选项,勾选后登录成功,在一段...
    99+
    2023-06-25
  • JSP动态实现web网页登陆和注册功能
    目录前言 数据库 JSP网页连接数据库配置mysql文件创建jsp文件,连接数据库,并读取出数据显示在jsp网页中注册和登录的JSP页面新建login.jsp文件新建check.js...
    99+
    2022-11-12
  • java web实现自动登录
    本文实例为大家分享了java web实现自动登录的具体代码,供大家参考,具体内容如下 实现思路 1、在登录的 api 或 servlet中验证用户名密码 2、如果验证成功,则把该用户...
    99+
    2022-11-12
  • vue实现登陆功能
    本文实例为大家分享了vue实现登陆功能的具体代码,供大家参考,具体内容如下 最近在学习vue,发现了vue的好多坑,比如怎么更好的获取input框输入的值而减少获取dom节点的消耗 ...
    99+
    2022-11-13
  • JSP动态如何实现web网页登陆和注册功能
    这篇文章主要介绍了JSP动态如何实现web网页登陆和注册功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言 涉及到相关内容如下:数据库安装JSP网页连接数据库注...
    99+
    2023-06-22
  • Java 使用Filter实现用户自动登陆
    目录前言1、什么是Filter2、过滤器实现拦截过程3、过滤器与拦截器的不同之处1.过滤器:2.拦截器:3.两者的区别:4、使用Filter实现用户自动登陆5、测试前言 安全,是如...
    99+
    2022-11-12
  • 怎么在Java中实现session过期后自动跳转到登陆页功能
    这篇文章主要为大家详细介绍了怎么在Java中实现session过期后自动跳转到登陆页功能,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web...
    99+
    2023-05-30
    java session
  • Java Web实现用户登录功能
    文章目录 一、纯JSP方式实现用户登录功能(一)实现思路1、创建Web项目2、创建登录页面3、创建登录处理页面4、创建登录成功页面5、创建登录失败页面6、编辑项目首页 (三)测试结果 ...
    99+
    2023-10-02
    java 前端 servlet
  • JavaWeb实现自动登录功能
    本文实例为大家分享了JavaWeb实现自动登录功能的具体代码,供大家参考,具体内容如下 自动登录是通过存储cookie值来实现的。 工程目录如下: login.jsp: <...
    99+
    2022-11-12
  • Node.js实现登陆注册功能
    本文实例为大家分享了Node.js实现登陆注册的具体代码,供大家参考,具体内容如下 1.服务器端 在项目里创建一个json文件用来存储数据,通过express创建服务器对象,fs模块...
    99+
    2022-11-13
  • nodejs实现登陆验证功能
    本文实例为大家分享了nodejs实现登陆验证的具体代码,供大家参考,具体内容如下 登陆验证需要提交数据,一种使用form表单提交数据,另一种使用原生js提交数据 form表单提交 搭...
    99+
    2022-11-13
  • ssh,scp怎么实现自动登陆
    这篇文章主要讲解了“ssh,scp怎么实现自动登陆”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ssh,scp怎么实现自动登陆”吧!示例:A为本地主机(即用于控制其他主机的机器) ;B为远程...
    99+
    2023-06-09
  • js实现登陆与注册功能
    本文实例为大家分享了js实现登陆与注册功能的具体代码,供大家参考,具体内容如下 1、首先在phpstudy文件中寻找到一个文件名叫 “www” 的文件  在里面创建html...
    99+
    2022-11-12
  • Java-web实现用户登录、注册功能
    源码在资源里 目录 环境搭建数据库 用户登录需求分析代码实现编写UserMapper类编写User类编写loginServlet类编写login.html编写login.css ...
    99+
    2023-10-10
    java 前端 servlet
  • ssh,scp自动登陆的实现方法
    示例:A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运行命令:# ssh-keygen ...
    99+
    2022-06-04
    方法 ssh scp
  • PHP用Session实现用户登陆功能
    目录一、启动 Session 会话,并创建一个 $admin 变量:二、验证提交数据三、判断是否登陆:四、如果要登出系统怎么办?销毁 Session 即可。五、设置生存周期对比起Co...
    99+
    2022-12-22
    php登录 session用户登陆
  • nodejs怎么实现登陆验证功能
    这篇文章主要介绍“nodejs怎么实现登陆验证功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“nodejs怎么实现登陆验证功能”文章能帮助大家解决问题。登陆验证需要提交数据,一种使用form表单提...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作