/WEB-INF中的JSP返回;HTTP状态404请求的资源不可用;
我创建了一个JSP文件/WEB-INF中的JSP返回;HTTP状态404请求的资源不可用;,jsp,http-status-code-404,web-inf,Jsp,Http Status Code 404,Web Inf,我创建了一个JSP文件 sample.jsp <%@ page pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>Insert title here</title> </head> <body> This is jsp program </body> </html
sample.jsp
<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
This is jsp program
</body>
</html>
我在下面的URL上打开了它
http://localhost:8080/samplejsp/sample.jsp
<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
This is jsp program
</body>
</html>
但它在浏览器中显示以下错误
404错误
请求的资源(/sample.jsp)不可用
404仅仅意味着
要么URL错误(注意:区分大小写!),要么资源不在您认为的位置
只需验证URL和/或验证资源是否在您期望的位置。您将sample.jsp
放在/WEB-INF
文件夹中。这样,如果不通过前端控制器servlet调用,它就无法公开访问
把它放在/WEB-INF
之外
samplejsp
`--网络内容
|--WEB-INF
`--sample.jsp
如果希望将其保存在/WEB-INF
中,则需要创建一个前端控制器servlet,该servlet将在doGet()
方法中转发给它,如下所示
request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);
最后,通过调用servlet的实际URL而不是JSP的虚构URL来“打开”JSP
另见:
您能添加您的目录结构吗?
如下所示-
src
|-html\
|-jsp\
也许这就可以了
<form action="sample.jsp" method=get>
<input type =submit value="submit">
</form>
编辑-WEB-INF不允许直接访问JSP。在使用JSP的spring boot WEB应用程序中,在添加此依赖项之前,它不起作用
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
如果你发现了为什么这样做,请发表评论。对不起,我今天解决了我的错误,7天过去了,你没有接受任何东西,因为…是的,我检查了,但它显示了上述错误,程序中是否有任何错误是的,或者URL错误,或者资源实际上不存在。错误消息不存在。好的,我接受错误消息不存在,URL中发生了错误。我也理解,我选择了jsp文件并从属性中复制了URL,那么为什么它会显示错误,如何解决这个问题?提示:URL应该是URL,而不是磁盘文件系统路径。如果
sample.html
位于http://localhost:8080/samplejsp/sample.html
那么sample.jsp
显然位于http://localhost:8080/samplejsp/sample.jsp
。因此,
应该是http://localhost:8080/samplejsp/sample.jsp
或者更好的选择是sample.jsp
。在您的情况下,应该这样做:
.Quick fix-将HTML和JSP文件从WEB-INF文件夹中移动并运行。我的意思是将这两个文件从WEB-INF移动到其他文件夹。tomcat-embed-jasper:提供对.JSP文件呈现的支持。