springmvc拦截器
来源:互联网 发布:mac os破解版 编辑:程序博客网 时间:2024/06/15 11:38
用一个例子来说明,一个小网站,只有用户登录后才可访问,否则被拦截。
要定义拦截器,需要实现Spring的HandleIntercetor接口或者继承抽象类HanlerInterceptorAdater
中间有三个方法,通过例子说明:
public class AuthorizationInterceptor implements HandlerInterceptor { private static final String[] IGNGRE_URI={"/loginForm","/login"}; /** * 该方法在Controller处理之前执行。当返回值为true才执行controller,否则不执行。 * @param httpServletRequest * @param httpServletResponse * @param o * @return * @throws Exception */ public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { System.out.println("AuthorizationInterceptor preHandle --> "); boolean flag=false; String servletPath=httpServletRequest.getServletPath(); for(String s:IGNGRE_URI){ if(servletPath.contains(s)){ flag=true; break; } } if(!flag){ User user=(User)httpServletRequest.getSession().getAttribute("user"); if(user==null){ System.out.println("AuthorizationInterceptor 拦截请求:"); httpServletRequest.setAttribute("message","请先登录再访问网站"); httpServletRequest.getRequestDispatcher("loginForm").forward(httpServletRequest,httpServletResponse); }else { System.out.println("AuthorizationInterceptor 放行请求:"); flag=true; } } return flag; } /** * 在controller的方法调用之后执行,方法中可以多modelAndview进行操作 * @param httpServletRequest * @param httpServletResponse * @param o * @param modelAndView * @throws Exception */ public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { System.out.println("AuthorizationInterceptor postHandle -->"); } /** * 该方法在整个请求完成之后执行,主要作用是用于清理资源 * @param httpServletRequest * @param httpServletResponse * @param o * @param e * @throws Exception */ public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { System.out.println("AuthorizationInterceptor afterCompletion --> "); }}
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/*"/> <bean class="org.fkit.domain.AuthorizationInterceptor"/> </mvc:interceptor></mvc:interceptors>设置拦截所有请求。
阅读全文
0 0
- [SpringMVC] SpringMVC拦截器
- SpringMVC-----9、SpringMVC拦截器
- springMVC—springMVC拦截器
- springMVC 拦截器
- SpringMVC—拦截器
- springmvc 拦截器配置
- SpringMvc拦截器
- SpringMvc 拦截器
- springMVC 拦截器
- springmvc登录拦截器
- springMVC之拦截器
- SpringMVC使用拦截器
- springMVC 自定义拦截器
- springmvc拦截器实现
- springMVC 拦截器
- springmvc的拦截器
- SpringMVC拦截器
- springMVC拦截器
- 2009国家公务员面试过关点点通
- CSS3学习
- Java虚拟机
- 使用Authenticator和send静态方法发送邮件
- PYTHON爬虫学习——urllib库之Debuglog与URLError实战练习
- springmvc拦截器
- 关于IntelliJ IDEA如何生成jsp头信息
- eclipse8.5-svn连接插件与mysql-5.6.17-win32安装方法
- 前端工程师如何定位自己等级层次
- 万能适配器(二)
- 分析一下到底是上升沿还是下降沿读写数据
- Redis详细介绍
- Python2.7抓取豆瓣美女图片
- Java常用类之日期类Date DateFormat and SimpleDateFormat