在 Eclipse 动态 Web 项目中包含 HTML 文件
Posted
技术标签:
【中文标题】在 Eclipse 动态 Web 项目中包含 HTML 文件【英文标题】:Include HTML File in Eclipse Dynamic Web Project 【发布时间】:2011-09-15 19:53:11 【问题描述】:我知道必须有一个简单的答案,但 Google 目前没有提供帮助。我在 Eclipse 中有一个动态 Web 项目,它使用 Java/Jersey 来运行 Web 服务。我所有的 java 资源都在诸如projectname/test/statistics
之类的 URI 中调用,以获取不同的资源。我的挂断是在一个相对简单的点上:
如何在此项目中包含 html 文件?
我打算将此文件作为一种“主页”,以便处理登录等。我希望 URI 类似于 projectname/
或 projectname/login
,但我似乎不能找到我可以定义引用 HTML 文件的路径的位置。有什么我需要添加到 HTML 本身,还是 Eclipse 项目中的设置?
更新: Soo... 我仍然无法通过 Eclipse 运行我的 html 文件。我现在要做的是在没有 html 的情况下向 Tomcat 部署战争,然后将 html 文件放在一个完全独立的文件夹中以运行它。这意味着每当我调用我的文件时,我都必须键入不同的上下文根。
【问题讨论】:
顺便说一句,我已经尝试将它添加到构建路径中。不幸的是,事情并没有那么简单。 :P 【参考方案1】:我通过更改 web.xml 解决了这个问题:
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
到
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
然后http://servername/MyWebApp
正确启动了 index.html。
【讨论】:
伙计,这个答案救了我...两天尝试一个没有成功的解决方案。【参考方案2】:如果您在 Eclipse 中创建了项目,您可能在项目的根目录下有一个 WebContent 文件夹。放置在其中的文件将相对于您项目的上下文根目录提供服务。
例如,如果您的上下文根是MyWebApp
,并且您将文件hello.html
放入WebContent 文件夹,您可以在http://servername/MyWebApp/hello.html
看到您的文件。
您的上下文根可以通过转到项目属性并选择“Web 项目设置”来找到/更改。
【讨论】:
您定义了服务器吗?你的项目发布到服务器了吗? 是的。我在 Tomcat 6.0 上运行。除了这个 html 文件之外,我已经从http://localhost:8080/contextroot/otherresources
运行了其他所有内容...
当你转到 html 文件的 URL 时会发生什么? 404?
是的。就好像我只是在上下文根之后输入了asdlghasdgasgasdgdsa
(我实际上做了并且得到了相同的 404)。
哦,感谢您实际跟进此事。我没有看到太多人跟进,所以我真的很感激。【参考方案3】:
我的解决方法:
由于我无法直接在 Eclipse 中使其工作,我一直将我的 html 页面手动放置在我的服务部署到 Tomcat 的目录中。将它放在 ROOT 文件夹中可以让我点击localhost:8080/login.html
的页面,我可以将它部署到其他文件夹,比如测试,点击localhost:8080/Test/login.html
,但由于我的安全设置(目前),我不能将它与我部署的其他项目放在同一个文件夹中。
【讨论】:
以上是关于在 Eclipse 动态 Web 项目中包含 HTML 文件的主要内容,如果未能解决你的问题,请参考以下文章