当用户登录我的应用程序时,他提交了一个要通过Servlet处理的表单。 servlet为用户创建会话。如何创建链接以便用户可以注销?我似乎无法直接链接到Servlet。如何删除会话并链接回主页?
这是我可以做到的一种方式,但它似乎并不“正确”。 我可以链接回index.jsp?logout = true。我的index.jsp将查看logout是否为true并删除会话。
还有其他办法吗?
答案 0 :(得分:10)
编写一个映射到/logout
的servlet,然后在doGet
中执行类似的操作:
HttpSession session = request.getSession(false);
if(session != null)
session.invalidate();
request.getRequestDispatcher("/index.jsp").forward(request,response);
如果用户有会话,那么它们最终会被重定向到index.jsp
。
答案 1 :(得分:5)
我发现最容易做到这一点:
<form method="link" action="logout.jsp">
<input type="submit" value="Logout"/>
</form>
没有logout.jsp有这个:
<%
session.invalidate();
response.sendRedirect("startpage.html");
%>
答案 2 :(得分:1)
根据cdietschrun的回答,我把它变得更加紧凑:
<%
session.invalidate();
response.sendRedirect(request.getContextPath());
%>
答案 3 :(得分:1)
最简单的方法就是这样做一个注销链接..
<a href="logout.jsp">LogOut</a>
在&#34; logout.jsp&#34;写下面的代码
<%
session.invalidate();
response.sendRedirect("index.jsp");
%>
答案 4 :(得分:0)