SSM使用拦截器功能

前言

生活中的大部分项目,我们并不是很希望用户直接访问所有的功能和页面,所以,拦截器显得尤为关键

SSM是我们平时用的比较多的框架,拦截器的配置操作,用我的项目小小总结一下

web.xml配置

首先我们再项目的web.xml文件中配置我们的filter

	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		//直接/*拦截所有
		<url-pattern> /* </url-pattern>
	</filter-mapping>
自定义一个LoginInterceptor拦截器类实现HandlerInterceptor接口,并且重写其preHandle方法:
public class LoginInterceptor implements HandlerInterceptor {
	
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		HttpSession session = request.getSession();
		if(session.getAttribute("uid") == null) {
			response.sendRedirect(request.getContextPath()+"/user/login.do");
			return false;
		}else{
			//true 放行		false 拦截
			return true;
			}
		}
	}
拦截器类配置好了后,我们需要在spring-mvc.xml中指定我们的拦截器类
<!--配置拦截器  -->
	    <mvc:interceptors>
		<mvc:interceptor>
			<!-- 以下配置中,必须按顺序配置:mapping > exclude-mapping > bean  -->
			<!-- 1.mapping:拦截路径 , 可以有多个mapping节点 -->
			<mvc:mapping path="/user/**"/>
			<mvc:mapping path="/role/**"/>
			<!-- 不再拦截路径中的请求,完全不受理 -->
			<!-- 2.exclude-mapping:白名单 -->
			<mvc:exclude-mapping path="/user/login.do" />
			<!-- 3.bean:配置拦截器类,只配置class即可 -->
			<bean class="com.zzbt.spring.interceptor.LoginInterceptor"/>
		</mvc:interceptor>
	</mvc:interceptors>

好了,SSM的拦截器配置也完成了,又总结了一点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值