1. 程式人生 > >Spring mvc interceptor配置攔截器,沒有登入跳到登入頁

Spring mvc interceptor配置攔截器,沒有登入跳到登入頁

<?xml  version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans   
        http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://www.springframework.org/schema/context   
        http://www.springframework.org/schema/context/spring-context.xsd  
        http://www.springframework.org/schema/mvc   
        http://www.springframework.org/schema/mvc/spring-mvc.xsd"
	default-autowire="byName">
	<!-- auto register Processor -->
	<context:annotation-config />
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.anxin.msapweb.db.mybatis.mapper" />
	</bean>

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="db2dataSource" />
	</bean>

	<mvc:interceptors>
		<mvc:interceptor>
			<!-- 需攔截的地址 -->
                        <!-- 一級目錄 -->
			<mvc:mapping path="/*.do" />
			<mvc:mapping path="/*.ajax" />
			<mvc:mapping path="/*.htm" />

                        <!-- 二級目錄 -->
			<mvc:mapping path="/*/*.do" />
			<mvc:mapping path="/*/*.ajax" />
			<mvc:mapping path="/*/*.htm" />
			<!-- 需排除攔截的地址 -->
			<mvc:exclude-mapping path="/login.htm"/>
			<bean class="com.sl.web.interceptor.SecurityInterceptor " />
		</mvc:interceptor>
	</mvc:interceptors>
</beans>

注:不支援<mvc:mapping path="*.do" />
package com.sl.web.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import com.anxin.msapweb.common.Config;

public class SecurityInterceptor implements HandlerInterceptor {

	private static final String LOGIN_URL = "/login.htm";

	@Override
	public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object handler) throws Exception {
		HttpSession session = req.getSession(true);
		// 從session 裡面獲取使用者名稱的資訊
		Object obj = session.getAttribute(Config.Passport.SESSION_NAME_LOGIN_RESULT);
		// 判斷如果沒有取到使用者資訊,就跳轉到登陸頁面,提示使用者進行登陸
		if (obj == null || "".equals(obj.toString())) {
			res.sendRedirect(LOGIN_URL);
		}
		return true;
	}

	@Override
	public void postHandle(HttpServletRequest req, HttpServletResponse res, Object arg2, ModelAndView arg3) throws Exception {
	}

	@Override
	public void afterCompletion(HttpServletRequest req, HttpServletResponse res, Object arg2, Exception arg3) throws Exception {
	}

}


相關推薦

Spring mvc interceptor配置攔截沒有登入登入

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schem

spring boot之spring mvc常用配置--攔截配置(4)

2.攔截器配置 攔截器Interceptor實現對每一個請求處理前後進行相關的業務處理。類似於Servlet的Filter。 第一種方式:可以讓普通的bean實現HandlerInterceptor介面或者繼承HandlerInterceptorAdapter類來實現自定義

Spring MVC 中整合攔截Interceptor

目錄 Interceptor 簡介 Interceptor 實現方法 HandlerInterceptor 介面 HandlerInterceptor 介面 AsyncHandlerInterceptor 介面 HandlerInterceptorAdapter 

【轉】詳述 Spring MVC 框架中攔截 Interceptor 的使用方法

1 前言   昨天新接了一個需要,“攔截 XXX,然後 OOO”,好吧,說白了就是要用攔截器乾點事(實現一個具體的功能)。之前,也在網路上搜了很多關於Interceptor的文章,但感覺內容都大同小異,而且知識點零零散散,不太方便閱讀。因此,正好藉此機會,整理一篇關於攔截器

詳述 Spring MVC 框架中攔截 Interceptor 的使用方法

1 前言  昨天新接了一個需要,“攔截 XXX,然後 OOO”,好吧,說白了就是要用攔截器乾點事(實現一個具體的功能)。之前,也在網路上搜了很多關於Interceptor的文章,但感覺內容都大同小異,而且知識點零零散散,不太方便閱讀。因此,正好藉此機會,整理一篇關於攔截器的文

spring攔截配置與新名稱空間mvc:interceptors配置攔截對比與注意事項

原先,我們是這麼配置攔截器的 <bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor

Spring mvc中的攔截Interceptor

1 功能 Java 裡的攔截器是動態攔截 action 呼叫的物件。它提供了一種機制可以使開發者可以定義在一個 action 執行的前後執行的程式碼,也可以在一個 action 執行前阻止其執行,同時也提供了一種可以提取 action 中可重用部分的方式。在AOP(Aspe

Spring mvc登錄攔截

gin tor 要求 session row 請求轉發 pin dispatch framework 自己實現的第一個Spring mvc登錄攔截器 題目要求:拒絕未登錄用戶進入系統,只要發現用戶未登錄,則將用戶請求轉發到/login.do要求用戶登錄 實現步驟: 1.在s

Spring+Session+interceptor+ajax(攔截)的登陸和退出

register servle output http con cal 異常 header get 方法一使用servlet自帶的HttpSession 註意點: HttpSession應該作為方法的參數 //登入 public boolean customerLo

spring mvc 能過攔截記錄請求數據和響應數據

style gpo exec point ret nature request 響應 處理 spring mvc 能過攔截器記錄請求數據記錄有很多種方式,主要有以下三種: 1:過濾器 2:HandlerInterceptor攔截器 3:Aspect接口控制器 但是就我個人所

spring mvc配置定時任務事務等

定時任務 在spring-mvc的配置檔案中加入 <task:executor id="executor" pool-size="10" queue-capacity="128" /> <task:scheduler id="scheduler" po

第四十章:Spring MVC框架之攔截10

第八章 攔截器 攔截器最典型的用法是檢查使用者是否登入,登入後可以執行目標handler方法,未登入則跳轉到登入頁面。這樣的操作要是在每個攔截器內部來寫就太麻煩了,統一提取到攔截器中是明智之舉。 1.HandlerInterceptor介面 ①preHandle()方法 簽名:b

Spring MVC中的攔截/過濾器HandlerInterceptorAdapter的使用

一般情況下,對來自瀏覽器的請求的攔截,是利用Filter實現的 而在Spring中,基於Filter這種方式可以實現Bean預處理、後處理。 比如注入FilterRegistrationBean,然後在這個Bean上傳遞自己繼承Filter實現的自定義Filter進入即可。 而Spr

spring mvc 方法註解攔截

java中,自定義註解攔截器來實現,在需要的攔截的方法上面加上一個註解@AccessRequired spring mvc Controller中的使用例項 /** * 註解攔截器方法 * @return */ @RequestMapping(value=

Spring MVC實現靜態資源訪問viewcontroller攔截路徑匹配等配置

spring mvc 定製配置需要配置類繼承 一個webmvcconfigureradapter ,通過重寫這個類的方法,來完成常用的配置 包括靜態資源 , controller ,攔截器,路徑匹配的配置等等 具體程式碼如下 @Component public class WebMv

spring mvc攔截實現統計http請求的後臺執行時間

使用兩種方式,實現攔截http請求的後臺執行時間。 廢話不多說直接上程式碼 /** * Http請求時間統計 * 攔截所有請求 */ public class HttpRquestTimeInterceptor extends HandlerInterceptorAdapter { Threa

使用spring mvc攔截進行日誌記錄

spring記錄日誌有兩種,一種是通過AOP,另一種是通過攔截器interceptor,這裡選擇的是攔截器interceptor:  一、Interceptor實現類 SpringMVC 中的Interceptor 攔截請求是通過HandlerInterceptor 來實

spring boot配置攔截/過濾器並指定順序及規則

大家推薦個靠譜的公眾號程式設計師探索之路,大家一起加油,這個公眾號已經接入圖靈 ​ 攔截器: package com.zzh.interceptor; import org.springframework.stereotype.Component; import org.springframe

cxf+spring開發(二)--- Ip地址攔截限制客戶端Ip地址只允許資料庫中已經配置的Ip地址

上上篇博文中介紹瞭如何搭建cxf和spring環境,本文將圍繞如何在此環境下編寫攔截器,只允許已經配置好的IP地址訪問伺服器端。 一、修改配置檔案applicationContext.xml <span style="font-size:18px;"><

手擼了一個HTTP框架:支援Sprng MVC、IOC、AOP攔截配置檔案讀取...

> [https://github.com/Snailclimb/jsoncat](https://github.com/Snailclimb/jsoncat) :仿 Spring Boot 但不同於 Spring Boot 的一個輕量級的 HTTP 框架 距離上一次給小夥伴們彙報簡易版的“Spr