【问题标题】:Not able to acces WEB-INF/JSP folder无法访问 WEB-INF/JSP 文件夹
【发布时间】:2014-08-17 04:10:51
【问题描述】:

我在 WEB-INF 中创建了一个名为 jsp 的文件夹,并将所有 .jsp 文件放在该文件夹中。 我更改了 web.xml

它给了HTTP Status 404 /JasperPjt/jsp/Login.jsp Not found

请帮帮我。

【问题讨论】:

标签: jsp


【解决方案1】:

将JSP文件放在WEB-INF目录的主要目的是它只能从服务器访问,不能从客户端访问。(客户端将无法知道文件的确切URL)。

如果您尝试调用该文件(WEB-INF 中的文件),服务器将返回 HTTP 404。

只需调用 servlet,然后您就可以像这样调用该 JSP 文件:

request.getRequestDispatcher("/WEB-INF/TargetJspFile.jsp").forward(request, response);

【讨论】:

    【解决方案2】:

    默认情况下,您将无法访问 WEB-INF 中的文件。一般来说,所有的jsps和其他UI内容都应该组织在你的应用程序根目录下和WEB-INF之外。可能你可以拥有MyApp/pages,它分别包含你的jsps和MyApp/WEB-INF

    【讨论】:

      【解决方案3】:

      您无法访问 WEB-INF 文件夹下的 .jps 文件,您可以访问 Webcontent 文件夹下的 .jsp 及其所有 UI 和其他 UI 相关文件的根文件夹。

      如果您将它们分开,那么您需要从中获取可访问的 conetxt 路径。

      实际结构是:

      HelloWorld
         |
         ---->src
         |
         ---->wecontent
                 |
                 ----->WEB-INF
                 |
                 ----->index.jsp
      

      如果你分开

      HelloWorld
         |
         ---->src
         |
         ---->wecontent
                 |
                 ----->WEB-INF
                 |
                 ----->jsps
                        |
                        |---> login.jsp
                        |---> welcome.jsp
      

      现在这样你需要在jsp中得到这样的

      <% String path = request.getContextPath(); %>
      
      <a href="<%= path %>/jps/welcome.jsp">Wecome</a>
      

      【讨论】:

      • 要在代码块中放置文本,缩进四个空格,或者选择文本并单击工具栏中的{} 按钮。
      【解决方案4】:
      1. 您不能直接访问 WEB-INF 文件夹中的文件。您需要将请求重定向或转发给它。

      2. 如果您正在重定向或转发,然后收到此错误,则

        /JasperPjt/WEB-INF/jsp/Login.jsp

        或者我认为

        /WEB-INF/jsp/Login.jspWEB-INF/jsp/Login.jsp

      这也应该有效。

      【讨论】:

        猜你喜欢
        • 2015-01-23
        • 2013-04-24
        • 1970-01-01
        • 2016-08-04
        • 1970-01-01
        • 2018-12-12
        • 2014-12-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多