Spring mvc 中快速获取request、reponse、session

本文介绍如何在 Spring MVC 中创建一个通用的基类控制器,并通过实现 HandlerInterceptorAdapter 来进行请求拦截,同时展示了如何注册该拦截器并应用于所有或特定请求路径。
一:创建一个基本控制器类:

public class BaseController extends HandlerInterceptorAdapter{
public static HttpServletRequest request;
public static HttpServletResponse reponse;
public static HttpSession session;
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
BaseController.request = request;
BaseController.reponse = response;
BaseController.session = request.getSession();
return super.preHandle(request, response, handler);
}
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(Date.class, new CustomDateEditor(
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
}

}

二:注册这个实现拦截器的主控制器:(在子mvc配置文件.xml 中实现)
1  拦截所有请求

 

<!-- 注册拦截器   -->
<mvc:interceptors>
<bean class="com.base.BaseController"></bean>
</mvc:interceptors>

2  拦截指定请求

<!-- 注册拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*" />
<bean class="com.base.BaseController"></bean>
</mvc:interceptor>
</mvc:interceptors>

 

三 所有的控制器可以实现这个基类,从而访问request、respons、session
个人理解:由于实现拦截器功能的bean 并发单态、或者控制器并非单态,所以每次请求的static request  并不是同一个对象 



 

转载于:https://www.cnblogs.com/leonkobe/p/3546208.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值