栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

HttpSession现在为空,但在请求开始时不为空;会话无效,因此请勿创建新会话

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HttpSession现在为空,但在请求开始时不为空;会话无效,因此请勿创建新会话

如下创建了一个新的过滤器,该过滤器将覆盖默认的Tomcat JSESSIONID行为

public class HttpscookieFilter implements Filter {private static final Logger LOGGER = Logger.getInstance(HttpscookieFilter.class);@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws  IOException,         ServletException {    final HttpServletRequest httpRequest = (HttpServletRequest) request;    final HttpServletResponse httpResponse = (HttpServletResponse) response;    final HttpSession session = httpRequest.getSession(false);    if (session != null) {        final cookie sessioncookie = new cookie("JSESSIONID", session.getId());        sessioncookie.setMaxAge(readcookieTimeoutfromProperties());        sessioncookie.setSecure(false);        sessioncookie.setPath(httpRequest.getContextPath());        httpResponse.addcookie(sessioncookie);        LOGGER.log(Level.DEBUG, "Session not null and setting Sessioncookie --> " + sessioncookie.getValue()     + "; Sessioncookie Age --> " + sessioncookie.getMaxAge());    }    chain.doFilter(request, response);}@Overridepublic void init(FilterConfig arg0) throws ServletException {}private int readcookieTimeoutfromProperties() {    ResourceBundleMessageSource bean = new ResourceBundleMessageSource();    bean.setbasename("application-messages");    String tmeout = bean.getMessage("security.cookie.timeout", null, Locale.getDefault());    return Integer.parseInt(tmeout);}}

并在web.xml中的springSecurityFilterChain之前调用此过滤器<



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/670828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号