好的,我的REST应用程序有一个问题,它工作得很好,直到我开始更改应用程序的URL/上下文。
我可以在https://url/RESTservice/rest/restmethod下访问我的服务,但我想将其更改为https://url/rest/restmethod,我做了一些更改,但恢复这些似乎不能解决问题。
从ServiceMain.java开始...
@Path("/")
public class ServiceMain extends Application遵循web.xml文件...
<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..。
<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,它们在周五工作得很好,直到我开始更改路径。
错误日志:
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:看起来资源没有加载,因为缺乏经验,我现在遇到了很大的问题。
发布于 2016-06-27 19:59:13
我们用于应用程序的通用网址是https://Ip:Port/ApplicationName。在您的例子中,您可以使用下面的uses,它可以很好地工作于https://url/RESTservice/rest/restmethod。在此Url中,RESTservice是应用程序名称。现在,您希望更改为Url中缺少应用程序名称的其他Url。在Url中添加应用程序名称,以便正常工作
发布于 2016-06-27 23:06:58
创建了一个用于测试目的的新工作区,它可以立即工作,WTH eclipse!
编辑:我现在还获得了我想要的网址,没有应用程序名称,因此只需双击Servers Browser ->下的tomcat实例,单击Modules ->选择您的应用程序->编辑->删除路径下的URL:
https://stackoverflow.com/questions/38048854
复制相似问题