Servlets 即使删除Servlet中的会话属性,会话属性仍然存在
我正在从LogoutServlet中的会话中删除属性。在另一个servlet(LogoutCheckServlet)中,我试图获得相同的属性,但它仍然存在。请帮我找到同样的原因 LogoutServlet 公共类LogoutServlet扩展了HttpServlet{Servlets 即使删除Servlet中的会话属性,会话属性仍然存在,servlets,session-variables,Servlets,Session Variables,我正在从LogoutServlet中的会话中删除属性。在另一个servlet(LogoutCheckServlet)中,我试图获得相同的属性,但它仍然存在。请帮我找到同样的原因 LogoutServlet 公共类LogoutServlet扩展了HttpServlet{ /** * */ private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, Htt
/**
*
*/
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
HttpSession session= request.getSession(false);
if(session.getAttribute("userInfo")!=null) {
System.out.println("In Logout");
session.removeAttribute("userInfo");
session.invalidate();
System.out.println("In Logout");
}
try {
response.sendRedirect("http://localhost:8080/loginpoc/JSP/Login.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
*/
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
resp.setContentType("text/xml");
String response=null;
UserSessionInfoBean bean=null;
try {
System.out.println("In Session Check");
HttpSession session= req.getSession(false);
/*
if (session.isNew()){
System.out.println("New");
System.out.println("New Session Id:"+session.getId());
System.out.println("New Creation Time:- "+session.getCreationTime());
}
else{
System.out.println("Old");
System.out.println("Else Session Id:"+session.getId());
System.out.println("Else Creation Time:- "+session.getCreationTime());
}*/
bean=(UserSessionInfoBean)session.getAttribute("userInfo");
System.out.println(bean.getFullName());
if (bean.getFullName()==null){
response = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root>N</root>";
System.out.println("If block");
}
else{
response = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root>Y</root>";
System.out.println("Else block");
}
resp.getWriter().println(response);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
bean=null;
}
}
}
注销CheckServlet
公共类SessionCheck扩展了HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
HttpSession session= request.getSession(false);
if(session.getAttribute("userInfo")!=null) {
System.out.println("In Logout");
session.removeAttribute("userInfo");
session.invalidate();
System.out.println("In Logout");
}
try {
response.sendRedirect("http://localhost:8080/loginpoc/JSP/Login.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
*/
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
resp.setContentType("text/xml");
String response=null;
UserSessionInfoBean bean=null;
try {
System.out.println("In Session Check");
HttpSession session= req.getSession(false);
/*
if (session.isNew()){
System.out.println("New");
System.out.println("New Session Id:"+session.getId());
System.out.println("New Creation Time:- "+session.getCreationTime());
}
else{
System.out.println("Old");
System.out.println("Else Session Id:"+session.getId());
System.out.println("Else Creation Time:- "+session.getCreationTime());
}*/
bean=(UserSessionInfoBean)session.getAttribute("userInfo");
System.out.println(bean.getFullName());
if (bean.getFullName()==null){
response = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root>N</root>";
System.out.println("If block");
}
else{
response = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root>Y</root>";
System.out.println("Else block");
}
resp.getWriter().println(response);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
bean=null;
}
}
/**
*
*/
私有静态最终长serialVersionUID=1L;
受保护的void doPost(HttpServletRequest-req、HttpServletResponse-resp){
分别为setContentType(“文本/xml”);
字符串响应=null;
UserSessionInfoBean=null;
试一试{
System.out.println(“会话内检查”);
HttpSession session=req.getSession(false);
/*
if(session.isNew()){
系统输出打印项次(“新”);
System.out.println(“新会话Id:+Session.getId());
System.out.println(“新创建时间:-“+session.getCreationTime());
}
否则{
System.out.println(“旧”);
System.out.println(“Else会话Id:+Session.getId());
System.out.println(“Else创建时间:-”+session.getCreationTime());
}*/
bean=(UserSessionInfoBean)session.getAttribute(“userInfo”);
System.out.println(bean.getFullName());
if(bean.getFullName()==null){
答复=“N”;
系统输出打印项次(“如果块”);
}
否则{
答复=“Y”;
System.out.println(“Else块”);
}
resp.getWriter().println(响应);
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
最后{
bean=null;
}
}
}请求的确切流程是什么?首先调用注销servlet,然后调用注销检查servlet。