【发布时间】:2012-08-09 04:34:30
【问题描述】:
我正在尝试在Google App Engine 上编写我的第一个应用程序,我试图维护一个会话,我在提交时创建了一个登录页面,它调用servlet,servlet 验证用户并使用创建一个新会话下面的代码。
void createSession(String Username) {
getThreadLocalRequest().getSession(true).setAttribute("Username", Username);
}
调用servlet后的登录页面重定向到某个页面,即abc.jsp,我的abc.jsp页面包含
<body><%
try {
if (request.getSession(false) == null) {
} else {
%>
Welcome to
<%=session.getAttribute("Username")%>
<%
if (session.getAttribute("Username").equals("")) {
%>
<a href="login.jsp"><b>Login </b></a>
<%
} else {
%>
<a href="logout.jsp"><b>Logout</b></a>
<%
}
}
} catch (Exception e) {
}
%></body>
它工作正常,但是当我访问abc.jsp 没有创建会话时,它会在if (session.getAttribute("Username").equals("")) 行抛出异常,我不知道为什么要帮助我。我认为它不会检测会话是否存在。但我读过很多像this 这样的帖子,它给了我这个解决方案,我不知道我做错了什么。
【问题讨论】:
标签: java google-app-engine jsp session