【发布时间】:2013-08-18 03:18:36
【问题描述】:
我是 Java 世界的新手。我正在尝试使用一个简单的 CSV 文件作为数据库来开发一个 ACME Demo 来验证用户名和密码。我想知道是否可以在index.jsp页面上做一些超链接,如果你点击它们会带你到同一个网站的其他jsp页面。据我所知,超链接将调用 servle 中的 doGet 方法,在我的情况下,如果您的凭据当然有效,您将被重定向到那些安全的 jsp。所以它只适用于一个超链接,无论有多少链接,我都想让事情变得更加动态??!!
jsp
<a href ="<%=request.getContextPath()%>/LoginNow.do"> Content1</a>
<!-- Here I would like to add more links -->
小服务程序
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
processRequest(request, response);
//response.sendRedirect("login.jsp");
HttpSession session= request.getSession(true);
if ((session.getAttribute("userSession") != null) && (session.getAttribute("userSession").equals(session.getId())))
{
response.sendRedirect("content1.jsp");
// How can my doGet method manage multiple links here?
}
else
{
response.sendRedirect("login.jsp");
}
}
【问题讨论】:
-
您的 LoginNow.do servlet 不应该实际登录用户而不是检查他们是否已经登录吗?然后您可以检查会话以查看用户是否在每个 JSP 的顶部登录,而不是不断地将他们重定向到一个 servlet,只是为了检查两个会话变量并重定向回一个 JSP。
-
感谢您的提问。好吧 ..!用户只要登录就可以浏览网站中的所有安全链接,但是如果他们单击注销,除非他们再次登录并且将在 doPost 方法中创建一个新会话,否则他们将无法再执行此操作。这不是关于会话管理,而是关于如何在 servlet 中的 doGet 方法中操作 jsp 中的多个链接?正如我所说,这是一个 ACME 演示。