springMVC 拦截器
来源:互联网 发布:百元男生双肩包 知乎 编辑:程序博客网 时间:2024/06/04 23:18
springMVC拦截器大家在做项目中肯定会遇到。上个项目刚弄完,今天就来谢谢springMVC拦截器。等下次做项目时,直接copy用。
起思想项目大家都知道。就是拦截非法(未登录)的URL。其步骤如下。
起思想项目大家都知道。就是拦截非法(未登录)的URL。其步骤如下。
1.srping-mvc.xml文件 <!-- 对需要登录之后才能访问的路径页面进行拦截--> <mvc:interceptors> <bean class="com.hx.cyb.front.interceptor.ActionInterceptor"> </bean> </mvc:interceptors>
2.添加相对应的处理类ActionInterceptor@Componentpublic class ActionInterceptor extends HandlerInterceptorAdapter{private static final Logger log = LoggerFactory.getLogger(SelectProjectAction.class);//收集不要拦截的URL<span style="color:#FF0000;">public static List<String> noAuthorized=new ArrayList<String>();static{Iterator<?> iterator = FileUtil.findXMLForAll("url","no_authorized.xml");if (iterator != null) {while (iterator.hasNext()) { Element urlElement = (Element) iterator.next(); String url=urlElement.getText(); noAuthorized.add(url);}}}</span>@Overridepublic void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex)throws Exception{super.afterCompletion(request, response, handler, ex);}/** * 拦截所有spring MVC请求。如果该请求路径是首页或者不需要授权的路径(noAuthorized)则,不受任何影响。 * 否则,如果其他路径,且用户未登陆,则返回到首页。 */@Overridepublic boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler)throws Exception{String root = request.getContextPath();String url = request.getRequestURI();int questionIndex=0; if(url.indexOf("?")!=-1){questionIndex=url.indexOf("?");}else{questionIndex=url.length()-1;}String notParamUrl=url.substring(0, questionIndex+1);String notRootParamUrl=notParamUrl.replace(root+"/", "");if(notParamUrl.startsWith(root+"/selectProjectNoLogin.do")||notParamUrl.contains("/noAuthorized")||noAuthorized.contains(notRootParamUrl)){log.debug(url+"该路径不需要做登陆验证");}else if(request.getSession().getAttribute(SystemConstants.USER_SESSION_INFO) == null){response.sendRedirect(root + "/selectProjectNoLogin.do");return false;}return super.preHandle(request, response, handler);}}
3.收集不要拦截的URL<no_authorized> <url>xxx1.do</url> <url>xxx2.do</url> <url>xxx3.do</url> <url>xxx4.do</url> </no_authorized>
0 0
- [SpringMVC] SpringMVC拦截器
- SpringMVC-----9、SpringMVC拦截器
- springMVC—springMVC拦截器
- springMVC 拦截器
- SpringMVC—拦截器
- springmvc 拦截器配置
- SpringMvc拦截器
- SpringMvc 拦截器
- springMVC 拦截器
- springmvc登录拦截器
- springMVC之拦截器
- SpringMVC使用拦截器
- springMVC 自定义拦截器
- springmvc拦截器实现
- springMVC 拦截器
- springmvc的拦截器
- SpringMVC拦截器
- springMVC拦截器
- HMM的viterbi算法
- N皇后问题
- c++ 遍历目录下文件和文件夹
- 完全背包之钱币兑换问题
- 黑马程序员--集合知识点总结(一)
- springMVC 拦截器
- word2007中公式与文字对齐问题
- 驱动遍历句柄表
- [Windows通用应用开发] 俄罗斯方块
- 病毒分析流程总结
- JS操作cookies方法
- Linux-(12)特殊权限
- google 地图 申请key
- int,String相互转换