创建指向JSP注销的链接

时间:2011-03-04 01:38:12

标签: java jsp authentication servlets forms-authentication

当用户登录我的应用程序时,他提交了一个要通过Servlet处理的表单。 servlet为用户创建会话。如何创建链接以便用户可以注销?我似乎无法直接链接到Servlet。如何删除会话并链接回主页?

这是我可以做到的一种方式,但它似乎并不“正确”。 我可以链接回index.jsp?logout = true。我的index.jsp将查看logout是否为true并删除会话。

还有其他办法吗?

5 个答案:

答案 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)

退出并不太严重。你可以用一个简单的/logout.jsp来结束会话。