栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

过滤器实现自动登录(过滤器filter)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

过滤器实现自动登录(过滤器filter)

自动登录
  1. 创建实体类entity新建user类
package entity;

public class User {
    private String username;
    private String password;

    public User() {
    }

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

  1. 创建login.jsp页面以post提交传值到LoginServlet类
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  
    $Title$
    
  
  

登录

userName:

passWord:

AutoLogin:

  1. 创建过滤器filter过滤login.jsp传过来的值
package filter;


import entity.User;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.http.cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebFilter(filterName = "LoginSerlvet",urlPatterns = "/login1.jsp")
public class LoginFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request=(HttpServletRequest)servletRequest;
        HttpServletResponse response=(HttpServletResponse)servletResponse;
        //获得一个名为autologin的cookie
        cookie[]cookies=request.getcookies();
        String autologin=null;
        for(int i=0;cookies!=null&&i 
  1. 创建servlet包新建LoginServlet类接受login.jsp传过来的值
package servlet;

import entity.User;

import javax.print.DocFlavor;
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;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取用户名和密码
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        System.out.println(username+password);
        //验证用户名和密码
        if ("admin".equals(username) && "123456".equals(password)){
        //验证成功
        //将用户状态存入session域
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        req.getSession().setAttribute("user", user);
        //发送自动的cookie
        String autologin = req.getParameter("autologin");
        System.out.println("autologin=" + autologin);
        if (autologin != null) {
            cookie cookie = new cookie(autologin, username + "-" + password);
            cookie.setMaxAge(100);
            System.out.println("hello");
            cookie.setPath(req.getContextPath());
            resp.addcookie(cookie);
            resp.sendRedirect(req.getContextPath()+"/login1.jsp");
        }
        //跳转到首页
    }else{
        req.setAttribute("errerMsg", "用户名密码错误");
        req.getRequestDispatcher("/login.jsp").forward(req, resp);
        }
    }
}

登录成功跳转到login1.jsp首页,登录失败跳回ligin.jsp原页面

  1. 首页logion1.jsp
<%--
  Created by IntelliJ IDEA.
  User: 黄珮
  Date: 2021/9/16
  Time: 16:03
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    首页


首页

    请登录


    欢迎:${user.username }




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298936.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号