java - JSP登录2页

标签 java jsp redirect authentication

我正在使用 JSP 和 servlet 来开发我的 Web 应用程序。我有 2 个 JSP 页面,我希望只有在有人登录后才能访问它们。 我希望一旦一个人到达该页面(例如 page1.jsp),并且如果他们没有登录,他们将被要求输入用户名密码(在 page login.jsp 上),一旦他们给出正确的用户名密码,他们就可以返回到相同的用户名密码页面(page1.jsp)。 如果他们之前浏览过 page2.jsp,他们将从 login.jsp 重定向到 page2.jsp。

我不确定如何根据他们之前访问的内容将他们重定向到适当的页面。

最佳答案

您需要将 previousURL 存储在 session 中。然后登录成功后从 session 中检索 previousURL 值并相应地重定向。

您可以使用 HttpServeltRequest.getRequestURI() 获取请求 URI .要从 session 中保存和检索值,您需要使用 HttpSession.setAttribute()在 session 中保存一个值和 HttpSession.getAttribute()从 session 中获取值。要获取 session 对象本身,您可以通过调用HttpServletRequest.getSession()来实现。 .

简而言之,步骤如下:-

  1. 在“page1.jsp”的 servlet 方法中,您检测到用户未登录。因此,您存储 session 变量 previousURL。
  2. 然后重定向到 login.jsp。
  3. 成功登录后,您将检索 previousURL 的值并从登录 servlet 重定向到该 URL。

希望这有帮助!

关于java - JSP登录2页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7058101/

相关文章:

java - 无法通过 JSP 中的列表获取结果

jsp - 响应 .sendRedirect 不工作

redirect - 身份服务器 4 - 检查 iframe session 问题 - oidc 客户端

redirect - Web 转发或 CNAME 解决方案 - 哪个是正确的?

java - 这两个匿名类的声明有什么区别

java - 使用 JNI 链接静态库

java - 从字符串中检测并提取 url?

java.lang.UnsatisfiedLinkError : org. opencv.core.Mat.n_Mat(IIILjava/nio/ByteBuffer;)J

java - jsp 将 blob 图像保存在数据库 mysql 中 - 我的代码不起作用

objective-c - 自定义 NSURLProtocol 应该遵循重定向本身,还是让其客户担心?