欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

JAVA_OA(六):SpringMVC拦截器

发布时间:2025/3/21 javascript 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 JAVA_OA(六):SpringMVC拦截器 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

说明

到这篇文章前,我们们所有的网页都是在可以直接在浏览器中输入XXX.do来直接访问

,甚至在得到jsp页面后,可以直接通过请求看到数据库的表格!

而这肯定是开发所不允许的.故而,是时候让拦截器登场了,而他也正是一个基本的登录实例所必须的组件.

a 创建拦截器组件,实现HandlerInterceptor接口

public class LoginInteceptor implements HandlerInterceptor{// 其中要实现三个方法 //afterCompletion,postHandle,preHandle//preHandle在处理器执行前被调用这个方法,如果返回的结果为true ,那么继续执行后续的操作,如果为false,后面的程序将不再执行/*** 拦截器 拦截请求完事调用*/public void afterCompletion(HttpServletRequest arg0,HttpServletResponse arg1, Object arg2, Exception arg3)throws Exception {System.out.println("afterCompletion");}/*** 拦截器 拦截请求之后调用*/public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,Object arg2, ModelAndView arg3) throws Exception {System.out.println("postHandle");}/*** 拦截器 拦截请求之前调用*/public boolean preHandle(HttpServletRequest req, HttpServletResponse res,System.out.println("preHandle");//以下是具体代码HttpSession session=req.getSession();String str=(String) session.getAttribute("login");if(null==str||"".equals(str)){// getContextPath而非直接写路径->防止硬编码->避免项目改名时,修改大量代码.res.sendRedirect(req.getContextPath()+"/login.jsp");return false;}if(str.equals("true")){return true;}else{res.sendRedirect(req.getContextPath()+"/login.jsp");return false;}//以上是具体代码}/*** 如果返回的是 false 此请求 就此拦截* 如果返回的是true 继续走你下面的程序*/}...}

b 注册拦截器组件

<!-- 配置我们的拦截器 --><mvc:interceptors><mvc:interceptor><mvc:mapping path="/**"/><!--对所有访问进行拦截--><!-- 对/user/login.do进行拦截处理--><mvc:exclude-mapping path="/user/login.do"/><bean id="loginInterceptor" class="com.throne.util.UserInteceptor"></bean></mvc:interceptor></mvc:interceptors>

总结

以上是生活随笔为你收集整理的JAVA_OA(六):SpringMVC拦截器的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。