SpringMVC攔截器實(shí)現(xiàn)

自定義攔截器類(lèi)
public class SessionInterceptor extends HandlerInterceptorAdapter {

創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供三門(mén)峽企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5建站、小程序制作等業(yè)務(wù)。10年已為三門(mén)峽眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

public SessionInterceptor() {
    // TODO Auto-generated constructor stub
}

private List<String> excludedUrls;

//通過(guò)屬性注冊(cè)不需要過(guò)濾的url list
public void setExcludedUrls(List<String> excludedUrls) {
    this.excludedUrls = excludedUrls;
}

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
    throws Exception {

    String requestUrl = request.getRequestURI();
    //排除不需要過(guò)濾的URL
    for(String url:excludedUrls) {
        if(requestUrl.endsWith(url)) {
            return true;
        }
    }
    //獲取當(dāng)前的會(huì)話(huà)session
    HttpSession session = request.getSession();
    if(session.getAttribute("userid") == null) {
        //若登錄session過(guò)期或不存在就跳轉(zhuǎn)到login頁(yè)面
        request.getRequestDispatcher("/login.jsp").forward(request, response);
        return false;
    }
    return true;
}

}
springmvc-servlet.xml 攔截器注冊(cè)

<mvc:interceptors>
<mvc:interceptor>
<!--
/*的意思是所有文件夾及里面的子文件夾
/
是所有文件夾,不含子文件夾
/是web項(xiàng)目的根目錄
-->
<mvc:mapping path="/**" />
<!-- 需排除攔截的地址 -->
<!-- <mvc:exclude-mapping path="/login"/> -->
<bean id="commonInterceptor" class="com.skcc.chart.interceptor.SessionInterceptor">
<property name="excludedUrls">
<list>
<value>/login</value>
</list>
</property>

               </bean> <!--這個(gè)類(lèi)就是我們自定義的Interceptor -->
      </mvc:interceptor> 
      <!-- 當(dāng)設(shè)置多個(gè)攔截器時(shí),先按順序調(diào)用preHandle方法,然后逆序調(diào)用每個(gè)攔截器的postHandle和afterCompletion方法  -->
</mvc:interceptors>
    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory  -->
<mvc:resources mapping="/resources/**" location="/resources/" order="0" />
<mvc:resources mapping="/js/**" location="/js/" order="0" />
<mvc:resources mapping="/css/**" location="/css/" order="0" />
      <!-- Spring MVC不處理靜態(tài)資源 -->
<mvc:default-servlet-handler />
 <!-- 配置注解的處理器映射器和處理器適配器 -->
<mvc:annotation-driven ></mvc:annotation-driven>

    HandlerInterceptorAdapter不能攔截WEB-INF目錄以外的jsp文件;若需攔截默認(rèn)index.jsp;可以將index.jsp移動(dòng)目錄到WEB-INF下即可;

本文名稱(chēng):SpringMVC攔截器實(shí)現(xiàn)
文章路徑:http://muchs.cn/article44/jsoiee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、微信小程序網(wǎng)站改版、響應(yīng)式網(wǎng)站、App開(kāi)發(fā)企業(yè)建站

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)