當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JAVA_OA(六):SpringMVC拦截器
生活随笔
收集整理的這篇文章主要介紹了
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拦截器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA_OA管理系统(三)番外篇:My
- 下一篇: gradle idea java ssm