0

我有一个关于 Java 的问题。我有一个“index.jsp”,现在每当它运行时,我都想检查是否有人登录。如果没有人登录,则仅显示登录按钮,否则显示用户名代替登录。为了解决这个问题,我使用 -

session.getsession(false);
if(session==null)
    response.sendRedirect("login.jsp");
else
//rest of HTML Code.

但它不起作用,它总是去其他部分。
注意:“index.jsp”不会从“logout.jsp”或任何调用“session.invalidate()”的地方转发。这是项目第一次运行。

4

2 回答 2

2

试试这个代码来获取会话

 HttpSession session = request.getSession(false);

代替

session.getsession(false);

一旦你掌握了一个会话:

if(session == null)
{
    //session does not exists
    //redirect to login page
}
else
{
    //session is not ended
}

编辑 :

查看您的评论,我了解到您正在使用 JSP。在 JSP 中,如果您没有明确指定不这样做,则容器会创建一个默认会话。

You can ask not to create a default session by adding the following line

<%@page session="false" %> 

at the top of the page

于 2013-04-08T09:24:57.280 回答
0

You can use attributes to store login status (Ex: Username).

(String)session.getAttribute("Username")

If the value of the above string is null then user is not logged in. Make sure you set the value of this attribute after successful user login :)

于 2013-04-08T09:27:27.887 回答