/ WEB-INF中的JSP返回“HTTP状态404请求的资源不可用”
我创建了一个JSP文件。
sample.jsp
<%@ page pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>Insert title here</title> </head> <body> This is jsp program </body> </html>
我把它放在samplejsp
项目中。
samplejsp `-- WebContent `-- WEB-INF `-- sample.jsp
我打开它在下面的URL。
http://localhost:8080/samplejsp/sample.jsp
但它在浏览器中显示以下错误。
404错误
请求的资源(/sample.jsp)不可用。
404只是表示“未找到” 。
这个URL是错误的(注意:区分大小写!),或者资源不在你认为的地方。
只需验证网址和/或验证资源是否在您所期望的位置。 您将sample.jsp
放置在/WEB-INF
文件夹中。 这样一来,如果不通过前端控制器servlet进行调用,就不能公开访问。
把它放在/WEB-INF
。
samplejsp `-- WebContent |-- WEB-INF `-- sample.jsp
如果你想把它保存在/WEB-INF
,那么你需要创建一个前端控制器servlet,它将在doGet()
方法doGet()
发给它,如下所示。
request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);
最后,通过调用servlet的实际URL而不是JSP的虚构URL来“打开”JSP。
也可以看看:
- 什么是在Java EE Web应用程序中使用的WEB-INF?
- 从JSP调用servlet
- doGet和doPost在Servlets中
这主要与您的目录结构或打包有关。
你可以请添加你的目录结构?
类似于下面 –
src |-html\ |-jsp\
也许这应该做到这一点
<form action="sample.jsp" method=get> <input type =submit value="submit"> </form>
编辑 – WEB-INF不允许直接访问JSP。