MyServlet 可以通过以下行转发到 MyJsp.jsp
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/MyJsp.jsp");
dispatcher.forward(request, response);
如果我输入任何一个 url '...mytomcat:[myportno]/WEB-INF/MyJsp.jsp' 或 '...mytomcat:[myportno]/MyJsp.jsp' tomcat 报告 '请求的资源是无法使用。' (前缀 mytomcat:[myportno] 是正确的 - 它适用于其他页面)。
有什么建议或解释吗?
最佳答案
嗯,这是设计的。
出于安全原因,tomcat(或任何其他 servlet 或 Java EE 容器)应该不允许响应对 /WEB-INF
下的文件的直接请求,其中您会找到目录 classes
和 libs
。通常也将只能通过从另一个 servlet 转发访问的 jsp 文件放在 /WEB-INF
下。
关于java - forward 找到 MyJsp.jsp 但 url-> 请求的资源不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26089856/