SpringMVC拦截器
来源:互联网 发布:鲜花抢单软件 编辑:程序博客网 时间:2024/06/07 20:33
SpringMVC拦截器
1.使用场景
解决请求的共性问题(比如:乱码问题,权限验证问题等)
2.原理
与过滤器类似
3.实现
(1)编写拦截器类,实现HandlerInterceptor接口
package com.xiao.interceptor;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 拦截器 */public class MyInterceptor implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception arg3) throws Exception { } @Override //ModelAndView arg3可以来改变显示的视图,或修改发往视图的的方法 public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView arg3) throws Exception { } @Override //Object handler表示被拦截的请求的目标对象 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //解决乱码 request.setCharacterEncoding("utf-8"); //对用户登录进行拦截 if(request.getSession().getAttribute("user") == null){ //如果没有登录,就终止请求,并发送到登录页面 request.getRequestDispatcher("login.jsp").forward(request,response); return false; } return true; }}
(2)将拦截器注册到springMVC框架中
<mvc:interceptors> <!-- 拦截所有资源 --> <bean class="com.xiao.interceptor.MyInterceptor"/> </mvc:interceptors>
(3)配置拦截器规则
<mvc:interceptors> <!-- 拦截所有资源 --> <bean class="com.xiao.interceptor.MyInterceptor"/> *<mvc:interceptor> <!-- 拦截制定资源 --> <mvc:mapping path="/dv/**"/> <bean class="com.xiao.interceptor.MyInterceptor"/> </mvc:interceptor>* </mvc:interceptors>
4.配置多个拦截器
注意多个拦截器的拦截流程。(从北京到上海过收费站的流程)
5.拦截器的其他实现方法
实现WebRequestInterceptor接口(无返回值),注册写法不变
0 0
- [SpringMVC] SpringMVC拦截器
- SpringMVC-----9、SpringMVC拦截器
- springMVC—springMVC拦截器
- springMVC 拦截器
- SpringMVC—拦截器
- springmvc 拦截器配置
- SpringMvc拦截器
- SpringMvc 拦截器
- springMVC 拦截器
- springmvc登录拦截器
- springMVC之拦截器
- SpringMVC使用拦截器
- springMVC 自定义拦截器
- springmvc拦截器实现
- springMVC 拦截器
- springmvc的拦截器
- SpringMVC拦截器
- springMVC拦截器
- Java集合---ConcurrentHashMap原理分析[转]
- iOS 使用AFN 进行单图和多图上传
- JAVA内存分配解析
- win7连接共享“请检查名称的拼写.否则网络可能有问题”
- angularjs学习笔记--服务
- SpringMVC拦截器
- Mybatis插件使用-数据库CRUD生成器与代码自动提示检查
- bind apply call异同
- tomcat自动化部署脚本
- 【Linux】进程间通信之信号量
- Android BitmapShader 实战 实现圆形、圆角图片
- Android增量更新
- voip开源库
- solrcloud整合zookeper