过滤器:Filter
拦截器:Interceptor
过滤器与拦截器的区别:
1 拦截器(interceptor)只对action请求起作用,而过滤器(filter)则可以对几乎所有的请求起作用
2 过滤器是在请求进入容器(Tomcat)之后,但是请求进入Servlet之前。请求结束返回时也是,拦截器是在Servlet处理完之后,返回给前端之前

做一个登陆的拦截
创建类

package com.gm.interceptor;
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;
/**
* @author 起风
* @date 2020/3/2 9:51
*/
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//在拦截点执行拦截,如果返回的true则不执行拦截点后的操作(拦截成功)
// 1 判断当前的user用户不为空 获取当前的登陆方法
HttpSession session = request.getSession();
String url = request.getRequestURI();
System.out.println("接收到的action为:" + url)

本文介绍了SSM框架中Filter和Interceptor的区别,并通过实例展示了如何实现登录拦截。过滤器适用于所有请求,而拦截器只对Action请求生效。过滤器配置在web.xml中,拦截器配置在spring-mvc.xml中。两者都是AOP编程思想的应用,但适用范围、规范、资源使用和深度不同。作者为大二学生,分享学习过程,欢迎指正。
最低0.47元/天 解锁文章
713

被折叠的 条评论
为什么被折叠?



