在部署war文件后,Weblogic更改了url-pattern,我在web.xml中为Jersey RESTful定义了url-pattern。如您所见,我想在/ rest / *下访问我的服务,但weblogic将其更改为/ resources / *。我在哪里可以为WebLogic配置它?
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>ch.ni.service</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
p.s它可以根据需要与tomcat一起使用
答案 0 :(得分:1)
我遇到了类似的问题,将应用程序从Glassfish 3移到Weblogic 12.2.1。我终于屈服了并遵循泽西教程here。 我使用示例中生成的web.xml来修复我正在处理的代码。 简短的回答是我必须将web.xml servlet定义更改为:
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>your.package.with.JAXRS.resources</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/webservices/*</url-pattern>
</servlet-mapping>
我还从示例中的POM中获取了依赖项,并在我的POM中使用它们。
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.24</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
<version>2.24</version>
</dependency>
希望它有所帮助。