我是一个完全的新手,我正在使用 Eclipse Oxygen 平台来运行我的应用程序和 Apache Tomcat 8.0.36 服务器。首先,我在项目内的 WEB-INF 文件夹中创建了一个简单的 HTML 页面 first.html。<!DOCTYPE html><html><head><meta charset="ISO-8859-1"><title>Insert title here</title></head><body><h1>First Page</h1><a href="MiniPro/WebContent/WEB-INF/NewFile.html" >Press Here</a></body></html>当我运行此代码时,它会指向此链接http://localhost:8081/MiniPro/WEB-INF/first.html 并显示 HTTP 状态 404 错误。即使我尝试过,http://localhost:8081/MiniPro/WebContent/WEB-INF/first.html 它也会 显示相同的错误。当我将 first.html 页面的位置更改为 WebContent 文件夹并运行时,它显示了结果。有人可以告诉为什么它放在 WEB-INF 文件夹中时它不起作用。
3 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
应用程序层次结构中存在一个名为 WEB-INF 的特殊目录。此目录包含与应用程序相关但不在应用程序文档根目录中的所有内容。WEB-INF 节点不是应用程序公共文档树的一部分。WEB-INF 目录中包含的任何文件都不能由容器直接提供给客户端。但是,WEB-INF 目录的内容对于使用 getResource 和
getResourceAsStream
方法调用的servlet 代码是可见的ServletContext
,并且可以使用RequestDispatcher
调用公开 。
如果您想将文件保存在 WEB-INF 中 - 您需要一个 Servlet 来管理它。
只是如何使用 servlet 获取 HTML 文件的一般示例:
RequestDispatcher view = request.getRequestDispatcher("mypage.html"); view.forward(request, response);
否则,将您的文件移到 WEB-INF 之外并尝试使用 http://localhost:8081/MiniPro/first.html
绝地无双
TA贡献1946条经验 获得超4个赞
你可以试试 ~/<path here >/<file>
〜这将帮助您从本地主机指向主路径
您正在使用类似的路径
MiniPro/WebContent/WEB-INF/NewFile.html
在该路径上方已定位
http://localhost:8081/MiniPro/WebContent/WEB-INF/first.html
所以你可以使用而不是 http://localhost:8081
使用~
~/MiniPro/WebContent/WEB-INF/NewFile.html
添加回答
举报
0/150
提交
取消