Jsp 正在使Sun one Applications server 7.1中的会话无效
当应用程序中的用户登录/注销显示上次访问的用户名时,我在使用servlet和JSP的会话中遇到了一个问题。当用户成功登录应用程序时,我将用户信息放入会话中,如Jsp 正在使Sun one Applications server 7.1中的会话无效,jsp,session,servlets,browser-cache,Jsp,Session,Servlets,Browser Cache,当应用程序中的用户登录/注销显示上次访问的用户名时,我在使用servlet和JSP的会话中遇到了一个问题。当用户成功登录应用程序时,我将用户信息放入会话中,如 HttpSession ssession=request.getSession(false); session.setattribute(username,"username"); 当用户在应用程序中单击loggout时。我写了代码 HttpSession ssession=request.getSession(false); if(
HttpSession ssession=request.getSession(false);
session.setattribute(username,"username");
当用户在应用程序中单击loggout时。我写了代码
HttpSession ssession=request.getSession(false);
if(session!=null){
session.invalidate();
}
response.setHeader("Pragma", "cache");
response.setHeader("Cache-Control", "private, must-revalidate");
我检查了用户注销时会话是否可用。会话无效。但使用不同的用户重新登录同一浏览器。我找到了上次访问会话的用户。我已经为登录页面和加载页面设置了respone.setheader。我也有同样的问题。此问题仅在客户端(生产服务器)中发生。我们正在使用Sun One application server 7.1。存在两个问题:
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
过滤器
,它在doFilter()
方法中执行响应头设置工作,然后将过滤器映射到URL模式上,该模式覆盖需要登录的页面,例如/app/*
,/secured/*
等- (更多背景资料)
- (包含过滤器示例)
与具体问题无关,不要使用
request.getSession(false)
,而只使用request.getSession()
,不带布尔值。我不明白会发生什么。请发布真正的代码(您发布的代码无法编译),解释您正在尝试做什么,您期望代码做什么,以及它实际做什么。