SSM项目中怎么使用拦截器和过滤器(ssm,开发技术)

时间:2024-05-08 09:34:53 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    SSM%E9%A1%B9%E7%9B%AE%E4%B8%AD%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8%E6%8B%A6%E6%88%AA%E5%99%A8%E5%92%8C%E8%BF%87%E6%BB%A4%E5%99%A8

Spring MVC 也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定 的功能,自定义的拦截器必须实现 HandlerInterceptor 接口

preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他 的拦截器,或者是业务处理器去进行处理,则返回 true;如果程序员决定不需要 再调用其他的组件去处理请求,则返回 false。

postHandle():这个方法在业务处理器处理完请求后,但是 DispatcherServlet向客户端返回响应前被调用,在该方法中对用户请求 request 进行处理。

afterCompletion():这个方法在 DispatcherServlet 完全处理完请求后被调用,可以 在该方法中进行一些资源清理的操作。

1、创建一个拦截器(实现HandlerInterceptor接口)

这个拦截器我只是写个Demo,所以只进行了是否登录的验证,真正的项目中你也可以在这里进行一些权限的判断等等。

2、配置拦截器

由于配置了<mvc:mapping path="/**"/>会拦截所有资源,我们必须用<mvc:exclude-mapping path="/这里写你想放行的请求">标签放行静态资源和一些不用拦截的请求(登录等等)。<bean class="com.ssm.Interceptor.LoginInterceptor"></bean>是第一步创建的拦截器。

3、测试下拦截器:

在地址栏输入个非法的请求试试

通过地址栏可以看到,页面已经被重定向到了登陆界面,拦截成功。
但是拦截器并不能拦截jsp页面的访问,这个时候两种选择:
1、将所有jsp页面都放在WEB-INF目录下
2、用Servlet过滤器(虽然感觉技术有点老了)

Servlet过滤器主要用于对客户端(浏览器)的请求进行过滤处理,然后将过滤后的请求转交给下一资源。

1、创建一个过滤器(实现Filter接口)

2、配置web.xml

各个标签的解释都写在注释里面了,至于需要过滤的资源,你可以根据自己的需求再添加<url-pattern>,我主要是想把views目录下面的jsp全部过滤。

本文:SSM项目中怎么使用拦截器和过滤器的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:css中overflow属性怎么用下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18