我知道必须有一个简单的答案,但谷歌目前没有帮助。我在Eclipse中有一个动态Web项目,它使用Java / Jersey来运行Web服务。对于不同的资源,我的所有Java资源都在projectname/test/statistics
等URI中调用。我的挂断是一个相对简单的观点:
如何在此项目中包含HTML文件?
我打算将此文件作为一种“主页”,以便处理登录等。我希望URI类似于projectname/
或projectname/login
,但我可以似乎找不到我可以定义引用HTML文件的路径的位置。是否需要添加到HTML本身,或者它是Eclipse项目中的设置?
更新
Soo ...我仍然无法通过eclipse运行我的html文件。我现在要做的是在没有html的情况下向Tomcat部署一个war,然后将html文件放在一个完全独立的文件夹中运行它。这意味着每当我调用文件时,我都必须输入不同的上下文根。
答案 0 :(得分:12)
我通过更改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。
答案 1 :(得分:10)
如果您在Eclipse中创建了项目,则可能在项目的根目录下有一个WebContent文件夹。放置在那里的文件将相对于项目的上下文根目录提供。
例如,如果您的上下文根是MyWebApp
,并且您将文件hello.html
放入WebContent文件夹,则可以在http://servername/MyWebApp/hello.html
看到您的文件。
通过转到项目属性并选择“Web项目设置”,可以找到/更改您的上下文根。
答案 2 :(得分:2)
我的解决方法:
由于我无法直接在Eclipse中使用它,因此我一直将我的html页面手动放在我的服务部署到Tomcat的目录中。将它放在ROOT文件夹中可以让我点击localhost:8080/login.html
页面,然后我可以将其部署到其他文件夹,比如Test,在localhost:8080/Test/login.html
点击它,但由于我的安全设置(目前),我不能将它放在与我部署的项目的其余部分相同的文件夹中。