我刚刚开始使用JSP,遇到了一个问题。
据我所知,WEB-INF下的JSP页面可以通过浏览器在localhost中使用URL进行访问:
localhost:8080/MyProject/MyJSP.jsp
但是,如果我在WEB-INF文件夹(即'MyFolder')中创建另一个子文件夹,并尝试通过URL访问相同的JSP页面:
localhost:8080/MyProject/MyFolder/MyJSP。jsp
它给出了一个错误404。JSP文件导航系统与HTML文件导航系统有区别吗?
编辑:我正在使用servlet来显示我的JSP页面:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect("MyJSP.jsp");
}
EDIT2:我已经按照建议将重定向更改为requestDispatcher:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/MyFolder/MyJSP.jsp");
dispatcher.forward(request, response);
}
如果我的@WebServlet是(“/myjsp”)
,任何人仍然可以访问我的myjsp。jsp
页面,如果他们键入localhost:8080/MyProject/myjsp
?
“/WEB-INF/”
被视为受保护/受保护的文件夹,除非确实需要,否则不建议访问它。如果您仍然希望这些文件可用,请尝试在web中添加以下servlet映射。xml。希望有帮助
<servlet>
<servlet-name>MyJSP</servlet-name>
<jsp-file>/WEB-INF/MyFolder/*</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>MyJSP</servlet-name>
<url-pattern>/ViewMyJsp.jsp</url-pattern>
</servlet-mapping>
可以通过在部署描述符中使用元素声明映射来显式指定映射。而不是
据我所知,WEB-INF下的JSP页面可以通过URL位于localhost中的浏览器访问
不,恰恰相反。浏览器无法访问WEB-INF下的所有内容。
将它们放在那里是一个很好的实践,因为您永远不希望任何人直接从浏览器访问JSP。JSP是视图,请求应该首先通过控制器,然后控制器将分派(即转发,而不是重定向,请参阅请求Dispatcher.forward()vs HttpServletResponse.send重定向())到正确的视图。
如何将本地存储文件夹中的JSP文件包含在WEB-INF下? 我在config.properties定义了绝对路径${externalFolder}到包含外部jsp文件的文件夹,控制器映射到 /page和jsp页面page.jsp在WEB-INF/jsp/目录中。 在此文件页面中。我想调用的jsp: WEB-INF/jsp/page。jsp 谢谢你的帮助。
我正在尝试访问WEB-INF文件夹中的内容,并将该文件使用到我的JAXB解组函数中,但我尝试了所有方法,但没有成功。首先,我使用jersey和grizzly服务器在本地测试它,但现在我想将它移动到tomcat服务器上,并使用.war文件部署它,该文件具有WEB-INF文件夹和index.html。 我有3个包(资源,模型和主要包)。 在其中一个(模型)中,我有一个类,我正在使用这个解组函数对WEB
问题内容: 我的App Engine项目的war / WEB-INF文件夹中有一个文件。我在FAQ中读到,您可以在servlet上下文中从那里读取文件。我不知道如何形成资源的路径: 我将如何构造到该资源的路径以与File()一起使用,就像上面一样? 问题答案: 有两种方法可以做到这一点。只要扩展WAR文件(一组文件而不是一个.war文件),就可以使用以下API: http://tomcat.apa
问题内容: 当我的jsp文件位于WEB-INF文件夹(如/WEB-INF/file.jsp)中时,我可以从本地主机访问它们:8080 / ProjectCtxtRoot /,但是如果将它们放在/ WEB-中,则无法访问它们。 INF / jsp / file.jsp? 我更改了web.xml中的welcome-list标记中的路径,如下所示 我还更改了dispatcher-servlet.xml,
我在web.xml中更改了welcome-list标记中的路径,如下所示 我还更改了dispatcher-servlet.xml,如下所示 但还是没用。用于上述大小写的Url是 而且它对上面的任何URL都不起作用。 但它起作用的时候 我使用TomcatV7.0服务器。我在Eclipse IDE中刷新我的项目,然后清理它,构建它,使用mvn clean install构建war,然后从tomcat
如何在Eclipse中配置Java动态Web项目,使Web-INF/lib文件夹位于子文件夹中? 例如,假设我希望我的“lib”文件夹位于此处: src/main/webapp/WEB-INF/lib 我的webapp根在这里: src/main/webapp/ 如何在Eclipse中配置此功能?我知道我可以“添加jar”,但我希望它们被组织在我的应用程序构建路径库部分的“Web应用程序库”部分。