【问题标题】:Redirecting in JSP from servlet and JSP在 JSP 中从 servlet 和 JSP 重定向
【发布时间】:2014-04-29 09:40:55
【问题描述】:

我有 2 个查询

1)我有一个 login.jsp 页面和索引页面。一旦我验证了用户(在 servlet 中,即check.java),用户就会被重定向到 index.jsp 页面。我使用从小服务程序

getServletContext().getRequestDispatcher("/WEB-INF/admin/index.jsp").forward(request, response);

此过程运行良好。但是当我刷新页面时,我被重定向回登录页面。 我还注意到在 index.jsp 页面上我得到了名称 check 而不是 index.jsp,即显示了我的 servlet 名称。例如像这样 显示localhost:8080/abc/check 而不是localhost:8080/abc/index.jsp

2)在索引页面上,我有 4 个不同的 div,当我使用 jquery 单击一个 div 时,我被重定向到一个页面(一种选项卡),但它不起作用 这是我的代码

  ServletContext sc=getServletContext();
  URL resourceUrl = sc.getResource("/WEB-INF/admin/logindetails.jsp");
  String path = resourceUrl.toString();
%>
$(document).ready(function(){
    $('#wid7').click(function(){
        var path = <%=path%>;
        document.location.href=path;
    });
});

我无法访问 logindetails.jsp

这是我的结构

-Webcontent
--resources
---js
---css
--Web-Inf
---admin
----index.jsp
----logindetails.jsp
--login.jsp

【问题讨论】:

  • 第一个问题您使用 GET 或 POST 哪种方法?
  • 我正在使用的发布方法
  • 没错。查看此链接以创建示例登录页面javaknowledge.info/…

标签: jquery jsp servlets


【解决方案1】:

首先请在不同的问题中询问不同的主题。所以:

1)getServletContext().getRequestDispatcher("/WEB-INF/admin/index.jsp").forward(request, response);

你的结构是这样的

login.jsp--(request)-->check.java--(forward(same request))-->index.jsp

意味着您的 index.jsp 取决于来自 login.jsp 的请求,这不是一个单独的请求,这就是为什么它在 URL 中显示 Check 以及当您执行 refresh 它正在生成新请求(不是来自 login.jsp),这就是显示 login.jsp 的原因。

如果你想改变这种行为然后使用 sendRedirect 而不是 forward 那么它会在 check.java 之后创建一个新的请求 p>

编辑:试试这个:

  ServletContext sc=getServletContext();
  URL resourceUrl = sc.getResource("/WEB-INF/admin/login.jsp");
  String path = resourceUrl.toString();
  response.sendRedirect(path);

【讨论】:

  • 使用 sendRedirect 解决您的问题。您可以使用此链接javaknowledge.info/…
  • 但是使用 sendredirect 我无法在 web-inf 中访问..不是吗?
  • 您可以通过 sendredirect 完成所有操作,但它只会创建一个新请求。
  • 登录页面在 webcontent 中,而包括索引在内的其余文件在 web-inf 中,我无法通过 sendredirect 访问
  • 什么都没有发生......我第一次点击它时仍然在同一页面上,当我点击它时再次向我抛出验证警报(输入用户名等)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 2018-04-18
  • 1970-01-01
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多