interceptor拦截器实现后台登录拦截
1、配置spring-mvc.xml文件
<?xml version="1.0" encoding="UTF-8"?>
注意点:扫描包要扫描到interceptors包
2、配置web.xml文件
添加HiddenHttpMethodFilter拦截器
HiddenHttpMethodFilter
org.springframework.web.filter.HiddenHttpMethodFilter
HiddenHttpMethodFilter
/*
3、编写LoginIntercept.java文件
让LoginIntercept类实现HandlerInterceptor接口,并重写其中的方法,在preHandle方法里进行验证是否登录
package com.ku.interceptors;
import com.ku.pojo.Admin;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class LoginIntercept implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Admin loginAdmin = (Admin) request.getSession().getAttribute("loginAdmin");
if(loginAdmin != null){
return true;
} else {
response.sendRedirect(request.getContextPath()+"/manager/managerLogin");
return false;
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
注意点:@Component注解别忘了
4、编写jsp页面
- index.jsp
<%--
Created by IntelliJ IDEA.
User: aria
Date: 2022/4/20
Time: 8:54
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
首页
前往视频专区
前往后台管理
- video.jsp
<%--
Created by IntelliJ IDEA.
User: aria
Date: 2022/4/20
Time: 8:57
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
视频专区
视频专区
- main.jsp
<%--
Created by IntelliJ IDEA.
User: aria
Date: 2022/4/20
Time: 8:55
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
后台主页
后台主页
管理员姓名:${sessionScope.loginAdmin.adminName}
- managerLogin.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: aria
Date: 2022/4/20
Time: 9:03
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
登录
${msg}
5、项目结构
项目使用到了MyBatis逆向工程生成mapper和pojo。controller和service这里也不展示了,如果搜到这篇文章那应该这些文件的编写都不是问题
