use*_*160 7 jsp web-inf http-status-code-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>
Run Code Online (Sandbox Code Playgroud)
我把它放在samplejsp
项目中.
samplejsp
`-- WebContent
`-- WEB-INF
`-- sample.jsp
Run Code Online (Sandbox Code Playgroud)
我在以下网址上打开了它.
http://localhost:8080/samplejsp/sample.jsp
但它在浏览器中显示以下错误.
404错误
请求的资源(/sample.jsp)不可用.
404仅表示"未找到".
URL是错误的(注意:区分大小写!),或者资源不在您认为的位置.
只需验证URL和/或验证资源是否存在于您期望的位置.您放置sample.jsp
在/WEB-INF
文件夹中.这样,如果不通过前端控制器servlet调用它就不能公开访问.
把它放在外面/WEB-INF
.
samplejsp
`-- WebContent
|-- WEB-INF
`-- sample.jsp
Run Code Online (Sandbox Code Playgroud)
如果你想保留它/WEB-INF
,那么你需要创建一个前端控制器servlet,它doGet()
可以通过以下方法转发给它.
request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);
Run Code Online (Sandbox Code Playgroud)
最后通过调用servlet的实际URL而不是JSP的虚构URL来"打开"JSP.