新的Jersey版本,支持Servlet 3.x,與Servlet 2.x不一樣
實現自定義的Application,使用@ApplicationPath("/")標注
@ApplicationPath("/")
public class MyApplication extends ResourceConfig{
public SportApplication() {
super(A.class,B.class,C.class); // 自由添加,控制,也可以用packages
}
}
使用web.xml,新版本可以不用web.xml了,但是有局限性,推薦使用web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<!-- Servlet declaration can be omitted in which case
it would be automatically added by Jersey -->
<servlet>
<servlet-name>package.MyApplication</servlet-name>
</servlet>
<!-- Servlet mapping can be omitted in case the Application subclass
is annotated with @ApplicationPath annotation; in such case
the mapping would be automatically added by Jersey -->
<servlet-mapping>
<servlet-name>package.MyApplication</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
導出war包至tomcat的webapps目錄下,直接網站訪問即可
導出war包要求項目必須是web項目,如果不是web項目,可以右鍵項目 -> Configure -> Convert to faceted.. 勾選Dynamic Web Project即可
如果項目沒有web.xml文件,在項目轉換成web項目之后,可以右鍵項目 -> Java EE Tools -> Generate Depolyment Descriptor Stub
導出war包之前,確認lib庫要相應的一同導出,項目屬性 -> Deployment Assembly -> Add -> Java Build Path -> 勾選maven Jars或者其他依賴庫
導出war包,右鍵項目 -> Export to War
這樣的配置在部署之后,就可以通過鏈接 http://xxx.com/mywar/rest/...訪問resource了
