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

SpringMVC拦截器:账号登陆判断验证

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

SpringMVC拦截器:账号登陆判断验证

1、账号登陆判断验证


LoginInterceptor

package com.lan.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpSession;

@Controller
@RequestMapping("user")
public class LoginController {
    @RequestMapping("/main")
    public String main(){
        return "main";
    }
    @RequestMapping("/goLogin")
    public String login(){

        return "login";
    }
    @RequestMapping("/login")
    public String login(HttpSession session, String username, Model model){
        //把用户信息存到Session中
        session.setAttribute("userLoginInfo",username);
        model.addAttribute("username",username);

        return "main";
    }
    @RequestMapping("/goOut")
    public String goOut(HttpSession session){
        //把用户信息存到Session中
        //session.invalidate();//销毁
        session.removeAttribute("userLoginInfo");//移出session
        return "login";
    }
}

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  
    $Title$
  
  

    

登陆页面

首页

拦截器:LoginInterceptor

package com.lan.config;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //登陆页面也会放行:http://localhost:8080/goLogin
        //contains("goLogin"):URL包含login就放行
        if (request.getRequestURI().contains("login")){
            return true;
        }

        //放行的判断
        HttpSession session = request.getSession();
        if (session.getAttribute("userLoginInfo") != null){
            return true;
        }
        //判断什么情况下没有登陆
        request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request,response);
        return false;

    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
    }
}

login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


    

登陆页面

用户名: 密 码:

main.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


    

首页

${username}

注销

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

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

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