3.2.5. JAX-RS 和 RESTEasy 的修改
3.2.5.1. 配置 JAX-RS 和 RESTEasy 的修改 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
JBoss EAP 6 会自动设置 RESTEasy,所以你不需要自己来配置。因此,你应该从
web.xml 文件里删除所有现有的 RESTEasy 配置并替换为下列三个选项之一:
- 子类化
javax.ws.rs.core.Application并使用@ApplicationPath注解。这是最简单的选项且不要求任何 XML 配置。在你的应用程序里简单地将javax.ws.rs.core.Application作为子类并用你想将 JAX-RS 类可用的路径来进行注解。例如:@ApplicationPath("/mypath") public class MyApplication extends Application { }@ApplicationPath("/mypath") public class MyApplication extends Application { }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在上面的例子里,JAX-RS 资源位于路径/MY_WEB_APP_CONTEXT/mypath/。注意
注意,路径应该指定为/mypath而不是/mypath/*。 - 将
javax.ws.rs.core.Application作为子类并使用web.xml文件来设立 JAX-RS 映射。如果你想使用@ApplicationPath注解,你仍需要将javax.ws.rs.core.Application子类化。然后你可以在web.xml文件里设置 JAX-RS 映射。例如:public class MyApplication extends Application { }public class MyApplication extends Application { }Copy to Clipboard Copied! Toggle word wrap Toggle overflow <servlet-mapping> <servlet-name>com.acme.MyApplication</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping>
<servlet-mapping> <servlet-name>com.acme.MyApplication</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在上面的例子里,JAX-RS 资源位于路径/MY_WEB_APP_CONTEXT/hello。注意
你也可以使用这个方法来覆盖用@ApplicationPath注解设置的应用程序路径。 - 修改
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>
<servlet-mapping> <servlet-name>javax.ws.rs.core.Application</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在上面的例子里,JAX-RS 资源位于路径/MY_WEB_APP_CONTEXT/hello。注意
当你选择这个选项时,你只需要添加映射。你不需要添加对应的 servlet。服务器将负责自动添加对应的 servlet。