WebLogic更改了RESTful的url模式

时间:2016-09-19 20:54:40

标签: rest jersey weblogic

在部署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一起使用

1 个答案:

答案 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>

希望它有所帮助。