攔截器簡單使用 -示例:SpringMVC

SpringMVC攔截器(過濾器):HandlerInterceptor接口,或者繼承handlerinterceptoradapter
我這裏使用的自定義攔截器,實現HandlerInterceptor


public class MyInterceptor implements HandlerInterceptor {

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		String logname = (String) request.getSession().getAttribute("loginname");
		if (logname != null) {
			System.out.println("放行!");
			return true;
		} else {
			System.out.println("攔截,跳轉!");
			response.sendRedirect("http://localhost:8080/cjw_salary_sheet/userInfo/error.do");
			return false;

		}

	}
	補全下面的 postHandle,afterCompletion

通過判斷用戶名是否存在來確定是否攔截

配置spring-mvc.xml`

<mvc:interceptors>
	<mvc:interceptor>
	<!-- 攔截所以請求-->
		<mvc:mapping path="/**" />
		<!-- 放行  .do  /jsp / ?wsdl-->
		<mvc:exclude-mapping path="/**/*?wsdl"/>
		<mvc:exclude-mapping path="/userInfo/error.do" />
		<mvc:exclude-mapping path="/userInfo/login.do"/>
		<bean class="cn.apcinfo.interceptor.MyInterceptor"></bean>
	</mvc:interceptor>
</mvc:interceptors> 
<!--mvc:exclude-mapping  百度看一下放行規範, 可以放行當方法,靜態資源(css.js...),以什麼格式的(.jsp .html ....)-->
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章