一、写监听类
public class SingtonRequest implements ServletRequestListener{
private static ThreadLocal<HttpServletRequest> httpServletRequestHolder =
new ThreadLocal<HttpServletRequest>();
@Override
public void requestInitialized(ServletRequestEvent requestEvent) {
HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();
httpServletRequestHolder.set(request); // 绑定到当前线程
}
@Override
public void requestDestroyed(ServletRequestEvent requestEvent) {
httpServletRequestHolder.remove(); // 清理资源引用
}
public static HttpServletRequest getHttpServletRequest() {
return httpServletRequestHolder.get();
}
}
二、配监听
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>com.ylzinfo.psBusiness.checkAuthor.dto.SingtonRequest</listener-class>
</listener>
本文详细介绍了一种基于Servlet的监听器实现方式,通过SingtonRequest类实现了ServletRequestListener接口,用于在请求初始化和销毁时进行资源绑定和清理。此外,还展示了如何在web.xml中配置监听器。

1592

被折叠的 条评论
为什么被折叠?



