Springmvc的拦截器配置过程小例子

由于之前碰到需要拦截器的部分,我加以总结,以下就是在实战项目中的springmvc拦截器配置,做一个小例子,以便大家方便使用。





Spring 拦截器配置 Sprigmvc部分进行配置




 <!-- 配置资源文件,防止被拦截 -->
    <mvc:resources location="/WebRoot/images/" mapping="/images/**"/>  
    <mvc:resources location="/WebRoot/js/" mapping="/js/**"/>  
    <mvc:resources location="/WebRoot/css/" mapping="/css/**"/>

<!-- 配置拦截器 -->
   <mvc:interceptors>
       <mvc:interceptor>
      <!-- 拦截所有的url包括子url路径-->
          <mvc:mapping path="/**"/>
          <bean class="com.xyx.ssm.interceptot.MyInterceptor"/>
       </mvc:interceptor>
    
   </mvc:interceptors>


<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >

    <property name="prefix" value="/admin/"></property>
   
    <property name="suffix" value=".jsp"></property>

   </bean>




//拦截器手动写代码
package com.xyx.ssm.interceptot;


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


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


import com.xyx.ssm.po.User;


public class MyInterceptor implements HandlerInterceptor {


//执行 Handler 完成之后执行。应用场景:统一异常处理,统一日志处理等
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {

System.out.println("HandlerInterceptor1....afterCompletion");

}


//进入 Handler 方法之后,返回 ModelAndView 之前执行。可以
//看到该方法中有个 modelAndView 的形参。应用场景:从 modelAndView 出发:
//将公用的模型数据(比如菜单导航之类的)在这里传到视图,也可以在这里同一指定视图
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {

System.out.println("HandlerInterceptor1....postHandle");

}


//进入 Handler 方法之前执行。可以用于身份认证、身份授权。
//比如如果认证没有通过表示用户没有登陆,需要此方法拦截不再往下执行(return
//false),否则就放行(return true)
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2) throws Exception {

System.out.println("HandlerInterceptor1....preHandle");
User user = (User) request.getSession().getAttribute("user");
if(user != null){
return true;
}
//执行到这里表示用户身份需要验证,跳转到登陆页面
  request.getRequestDispatcher("admin/login.jsp").forward(request, response);
return false;

}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值