3.2.5. JAX-RS 和 RESTEasy 的修改

3.2.5.1. 配置 JAX-RS 和 RESTEasy 的修改

JBoss EAP 6 会自动设置 RESTEasy,所以您不需要自己来配置。因此,您应该从 web.xml 文件里删除所有现有的 RESTEasy 配置并替换为下列三个选项之一:
  1. 子类化 javax.ws.rs.core.Application 并使用 @ApplicationPath 注解。
    这是最简单的选项且不要求任何 XML 配置。在您的应用程序里简单地将 javax.ws.rs.core.Application 作为子类并用您想将 JAX-RS 类可用的路径来进行注解。例如:
    @ApplicationPath("/mypath")
    public class MyApplication extends Application {
    }
    
    在上面的例子里,JAX-RS 资源位于路径 /MY_WEB_APP_CONTEXT/mypath/

    注意

    注意,路径应该指定为 /mypath 而不是 /mypath/*
  2. javax.ws.rs.core.Application 作为子类并使用 web.xml 文件来设立 JAX-RS 映射。
    如果您想使用 @ApplicationPath 注解,您仍需要将 javax.ws.rs.core.Application 子类化。然后您可以在 web.xml 文件里设置 JAX-RS 映射。例如:
    public class MyApplication extends Application {
    }
    
    <servlet-mapping>
       <servlet-name>com.acme.MyApplication</servlet-name>
       <url-pattern>/hello/*</url-pattern>
    </servlet-mapping>
    
    在上面的例子里,JAX-RS 资源位于路径 /MY_WEB_APP_CONTEXT/hello

    注意

    您也可以使用这个方法来覆盖用 @ApplicationPath 注解设置的应用程序路径。
  3. 修改 web.xml 文件。
    如果您不想将 Application 子类化,您可以像下面这样在 web.xml 文件里设置 JAX-RS 映射:
    <servlet-mapping>
       <servlet-name>javax.ws.rs.core.Application</servlet-name>
       <url-pattern>/hello/*</url-pattern>
    </servlet-mapping>
    
    在上面的例子里,JAX-RS 资源位于路径 /MY_WEB_APP_CONTEXT/hello

    注意

    当您选择这个选项时,您只需要添加映射。您不需要添加对应的 servlet。服务器将负责自动添加对应的 servlet。