无法访问WEB-INF/JSP文件夹

lh80um4z  于 2022-12-07  发布在  其他
关注(0)|答案(5)|浏览(505)

我在WEB-INF中创建了一个名为jsp的文件夹,并将所有的.jsp文件放入该文件夹中。
它给出的是HTTP Status 404 /JasperPjt/jsp/Login.jsp Not found
请帮帮我

qgzx9mmu

qgzx9mmu1#

将JSP文件放在WEB-INF目录中的主要目的是,它只能从服务器访问,而不能从客户端访问。(客户端将无法知道文件的确切URL)。
如果您尝试调用该文件(WEB-INF中的文件),服务器将返回HTTP 404。
只需调用servlet,然后就可以调用JSP文件,如下所示:

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

6fe3ivhb2#

默认情况下,您将无法访问WEB-INF内部的文件。通常,所有的jsp和其他UI内容都应组织在应用程序根目录下,WEB-INF外部。可能您可以使用MyApp/pages,其中分别包含jsp和MyApp/WEB-INF

2ic8powd

2ic8powd3#

您无法访问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>
des4xlb0

des4xlb04#

您可以创建一个公共可访问的JSP(例如yourproject/web/login.jsp),并使用以下代码链接您的私有JSP yourproject/web/WEB-INF/pages/somesnippet.jsp

<%@ include file="/WEB-INF/pages/somesnippet.jsp" %>
xfb7svmp

xfb7svmp5#

1.无法直接访问WEB-INF文件夹中文件需要将请求重定向或转发到该文件夹
1.如果在重定向或转发时出现此错误,
/JasperPjt/WEB-INF/jsp/Login.jsp
或者我认为
/WEB-INF/jsp/Login.jspWEB-INF/jsp/Login.jsp
这也应该行得通。

相关问题