我创建了一个 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
我通过以下网址打开了它。
http://localhost:8080/samplejsp/sample.jsp
但在浏览器中显示以下错误。
404错误
请求的资源 (/sample.jsp) 不可用。
404 简单的意思就是“未找到” http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5.
要么 URL 错误(注意:区分大小写!),要么资源不在您认为的位置。
只需验证 URL 和/或验证资源是否位于您期望的位置即可。你放置了sample.jsp
in /WEB-INF
文件夹。这样,如果不通过前端控制器 servlet 进行调用,就无法公开访问它。
把它放在外面/WEB-INF
.
samplejsp
`-- WebContent
|-- WEB-INF
`-- sample.jsp
如果你想保留它/WEB-INF
,那么您需要创建一个前端控制器 servlet,它将转发给它doGet()
方法如下。
request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);
最后通过调用 servlet 的实际 URL 而不是 JSP 的虚构 URL 来“打开”JSP。
也可以看看:
- WEB-INF 在 Java EE Web 应用程序中有何用途? https://stackoverflow.com/questions/19786142/what-is-web-inf-used-for-in-a-java-ee-web-application
- 从 JSP 调用 servlet https://stackoverflow.com/questions/5463818/calling-servlet-from-jsp/
- Servlet 中的 doGet 和 doPost https://stackoverflow.com/questions/2349633/doget-and-dopost-in-servlets/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)