首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REST Tomcat根URL web.xml @Path

REST Tomcat根URL web.xml @Path
EN

Stack Overflow用户
提问于 2016-06-27 16:11:44
回答 2查看 828关注 0票数 0

好的,我的REST应用程序有一个问题,它工作得很好,直到我开始更改应用程序的URL/上下文。

我可以在https://url/RESTservice/rest/restmethod下访问我的服务,但我想将其更改为https://url/rest/restmethod,我做了一些更改,但恢复这些似乎不能解决问题。

从ServiceMain.java开始...

代码语言:javascript
复制
@Path("/")
public class ServiceMain extends Application

遵循web.xml文件...

代码语言:javascript
复制
<servlet>
    <servlet-name>bob-rest-service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>de.bob</param-value>
    </init-param>
    <init-param>
        <param-name>jersey.config.server.provider.classnames</param-name>
        <param-value>org.glassfish.jersey.filter.LoggingFilter;org.glassfish.jersey.moxy.json.MoxyFeature;org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>bob-rest-service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

maven pom.xml..。

代码语言:javascript
复制
<build>
    <finalName>RESTservice</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>

最后一件事是Eclipse上的Tomcat Modules View,它指向"/RESTservice“,位于项目->属性-> Web项目设置->上下文根:"RESTservice”。

这是我的实际设置,现在的问题在于,当我调用rest方法时,我得到了HTTP404,它们在周五工作得很好,直到我开始更改路径。

错误日志:

代码语言:javascript
复制
Jun 27, 2016 9:57:25 AM org.glassfish.jersey.filter.LoggingFilter log
INFORMATION: 14 * Server has received a request on thread http-bio-443-exec-8
14 > POST https://bob.de/RESTservice/rest/login
14 > accept-encoding: gzip,deflate
14 > connection: Keep-Alive
14 > content-length: 127
14 > content-type: application/x-www-form-urlencoded
14 > host: bob.de
14 > user-agent: Apache-HttpClient/4.5.2 (Java/1.8.0_91)

Jun 27, 2016 9:57:25 AM org.glassfish.jersey.filter.LoggingFilter log
INFORMATION: 14 * Server responded with a response on thread http-bio-443-exec-8
14 < 404

编辑:我想知道的是,当我遇到类似的问题时,我遇到了ClassNotFound异常,Hibernate查询没有显示,一旦它工作了,hibernate内容就会显示出来。那么我对Hibernate有什么问题吗?

EDIT2:看起来资源没有加载,因为缺乏经验,我现在遇到了很大的问题。

EN

回答 2

Stack Overflow用户

发布于 2016-06-27 19:59:13

我们用于应用程序的通用网址是https://Ip:Port/ApplicationName。在您的例子中,您可以使用下面的uses,它可以很好地工作于https://url/RESTservice/rest/restmethod。在此Url中,RESTservice是应用程序名称。现在,您希望更改为Url中缺少应用程序名称的其他Url。在Url中添加应用程序名称,以便正常工作

票数 0
EN

Stack Overflow用户

发布于 2016-06-27 23:06:58

创建了一个用于测试目的的新工作区,它可以立即工作,WTH eclipse!

编辑:我现在还获得了我想要的网址,没有应用程序名称,因此只需双击Servers Browser ->下的tomcat实例,单击Modules ->选择您的应用程序->编辑->删除路径下的URL:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38048854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档