欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

使用springMVC怎么實現(xiàn)用戶登錄權(quán)限驗證

今天就跟大家聊聊有關(guān)使用springMVC怎么實現(xiàn)用戶登錄權(quán)限驗證,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司主營萬山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,萬山h5成都微信小程序搭建,萬山網(wǎng)站營銷推廣歡迎萬山等地區(qū)企業(yè)咨詢

1.preHandle方法

顧名思義,該方法將在請求處理之前進行調(diào)用。SpringMVC 中的Interceptor 是鏈?zhǔn)降恼{(diào)用的,在一個應(yīng)用中或者說是在一個請求中可以同時存在多個Interceptor 。每個Interceptor 的調(diào)用會依據(jù)它的聲明順序依次執(zhí)行,而且最先執(zhí)行的都是Interceptor 中的preHandle 方法,所以可以在這個方法中進行一些前置初始化操作或者是對當(dāng)前請求的一個預(yù)處理,也可以在這個方法中進行一些判斷來決定請求是否要繼續(xù)進行下去。該方法的返回值是布爾值Boolean類型的,當(dāng)它返回為false 時,表示請求結(jié)束,后續(xù)的Interceptor 和Controller 都不會再執(zhí)行;當(dāng)返回值為true 時就會繼續(xù)調(diào)用下一個Interceptor 的preHandle 方法,如果已經(jīng)是最后一個Interceptor 的時候就會是調(diào)用當(dāng)前請求的Controller 方法。

2.postHandle風(fēng)法

由preHandle 方法的解釋我們知道這個方法包括后面要說到的afterCompletion 方法都只能是在當(dāng)前所屬的Interceptor 的preHandle 方法的返回值為true 時才能被調(diào)用。postHandle 方法,顧名思義就是在當(dāng)前請求進行處理之后,也就是Controller 方法調(diào)用之后執(zhí)行,但是它會在DispatcherServlet 進行視圖返回渲染之前被調(diào)用,所以我們可以在這個方法中對Controller 處理之后的ModelAndView 對象進行操作。postHandle 方法被調(diào)用的方向跟preHandle 是相反的,也就是說先聲明的Interceptor 的postHandle 方法反而會后執(zhí)行。

3.afterCompletion方法

該方法也是需要當(dāng)前對應(yīng)的Interceptor 的preHandle 方法的返回值為true 時才會執(zhí)行。顧名思義,該方法將在整個請求結(jié)束之后,也就是在DispatcherServlet 渲染了對應(yīng)的視圖之后執(zhí)行。這個方法的主要作用是用于進行資源清理工作的。

下面實現(xiàn)自己的攔截器

package com.huitong.util;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class StudentAuth implements HandlerInterceptor {
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    HttpSession session = request.getSession();
    Object stu = session.getAttribute("student");
    if( stu == null ){
      response.sendRedirect("/webapp1/index.jsp");
      return false;
    }
    return true;
  }
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
  }
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
  }
}

最后需要在spring-mvc.xml配置文件中進行攔截器配置,下面是配置片段

<mvc:interceptors>
    <mvc:interceptor>
      <!-- 先匹配所有路徑,然后排除不需要檢查的路徑 -->
      <mvc:mapping path="/**"/>

      <!-- 與登錄相關(guān)的請求 -->
      <mvc:exclude-mapping path="/*.jsp"/>
      <mvc:exclude-mapping path="/student/login.action"/>
      <mvc:exclude-mapping path="/student/register.action"/>

      <!-- 以下是靜態(tài)資源 -->
      <mvc:exclude-mapping path="/images/**" />
      <mvc:exclude-mapping path="/css/**" />
      <mvc:exclude-mapping path="/font/**" />
      <mvc:exclude-mapping path="/js/**" />
      <mvc:exclude-mapping path="/datepicker/**" />

      <!-- 用戶是否已經(jīng)登錄的檢查bean -->
      <bean class="com.huitong.util.StudentAuth"/>
        
    </mvc:interceptor>
  </mvc:interceptors>

看完上述內(nèi)容,你們對使用springMVC怎么實現(xiàn)用戶登錄權(quán)限驗證有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

新聞名稱:使用springMVC怎么實現(xiàn)用戶登錄權(quán)限驗證
網(wǎng)頁地址:http://www.chinadenli.net/article16/ishddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃網(wǎng)站設(shè)計公司企業(yè)建站App開發(fā)建站公司云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站