2010-10-08 156 views
1

我有一个包含登录表单的login.jsp页面。一旦登录,用户将被带到index.jsp,这个index.jsp应该知道哪个用户登录了。如果用户刷新页面,他将保持登录状态,不会被带回到login.jsp。所以需要进行某种会话。我搜索了一个例子,发现了Java bean,但实际上并没有理解它。有人可以帮助我,而不是必需的Java bean。在.jsp中登录系统

在此先感谢=]

+0

会话这是一个非常模糊的问题注销选项。看看一些教程,尝试一些例子,让我们知道你在哪里坚持下去。提示:尝试搜索“jsp servlets +会话管理+教程” – bdhar 2010-10-08 08:52:19

回答

1

这可以通过使用会话对象来完成:

<% 
    String name = "testme"; 
    session.setAttribute("theName", name); //write as an attribute in the session object 
%> 

一段时间后,你可以这样做:

<% String name= session.getAttribute("theName")%> // retireve the attribute from the session 

检查这里进行了简单的介绍: http://www.jsptut.com/Sessions.jsp

+0

我会尽力..谢谢=] – 2010-10-08 08:56:08

1

使用request.getSession()开始一个新的会话。您可以在整个会话中保存(使用setAttribute方法)您自己的Java对象。

+0

错误你不应该需要这个,是吗?会话对象总是在JSP页面中作为名称为“session”的变量提供 - >因此不需要request.getSession(),您可以直接寻址“会话” – fasseg 2010-10-08 08:53:55

+0

这取决于他是否希望在servlet中或在JSP ... – 2010-10-08 09:00:18

2

一旦用户已经登录,您应该在会话中添加某些内容(如用户名),以指示用户已登录。

然后,您可能希望添加一个servlet筛选器,该筛选器通过检查会话上的用户名来检测请求是否来自登录的人。如果此人未登录,您的过滤器可将请求发送至您的login.jsp,而不是他们请求的实际页面。使用这样的过滤器意味着您不必在JSP页面中编写任何登录检测和重定向。

最后,你可能想提供杀死与session.invalidate();