一 實際項目配置
公司VIP平台因為業務的特殊性,對業務數據的操作、以及前后端解耦等要求,使用到了jersey框架。同時使用到了spring框架。
二 jersey初始化
配置web項目配置文件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"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <display-name>vipmanager</display-name> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>
<!-- 配置jersey可以使用servlet的AP,並指定初始化的自定義類I--> <servlet> <servlet-name>jersey-servlet</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.timevale.esign.vip.application.MyApplication</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey-servlet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> <!-- <filter> <filter-name>AccessServlet</filter-name> <filter-class>com.timevale.esign.vip.intercept.AccessServlet</filter-class> </filter> <filter-mapping> <filter-name>AccessServlet</filter-name> <url-pattern>/content/acc.jsp</url-pattern> </filter-mapping> <filter> <filter-name>RestAccessServlet</filter-name> <filter-class>com.timevale.esign.vip.intercept.RestAccessServlet</filter-class> </filter> <filter-mapping> <filter-name>RestAccessServlet</filter-name> <url-pattern>/rest/api/*</url-pattern> </filter-mapping> --> </web-app>
jersey初始化啟動類
/** * 杭州天谷信息科技有限公司源代碼,版權歸杭州天谷信息科技有限公司所有 <br/> * 項目名稱:openapi-tech Maven Webapp <br/> * 文件名:MyApplication.java <br/> * 包:com.timevale.esign.openapi.tech.application <br/> * 描述:TODO <br/> * 修改歷史: <br/> * 1.[2015年10月9日下午5:24:40]創建文件 by jsh */ package com.timevale.esign.vip.application; import javax.ws.rs.ApplicationPath; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.server.spring.scope.RequestContextFilter; import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; /** * 類名:MyApplication.java <br/> * 功能說明:VIP項目jersey初始化啟動類 <br/> * 修改歷史: <br/> * 1.[2015年10月9日下午5:24:40]創建類 by jsh */ @ApplicationPath("/rest") public class MyApplication extends ResourceConfig { /** * MyApplication 構造方法 */ public MyApplication() { // 初始化Resource,以指定包的形式初始化,多個包之間以分號隔開 packages("com.timevale.esign.vip.resource"); packages("org.glassfish.jersey.examples.multipart"); // 注冊spring filter register(RequestContextFilter.class); // 注冊數據轉換器,支持傳參和返回信息json格式與bean之間的自動轉換 register(JacksonJsonProvider.class); // 注冊支持multipart-formdata格式的請求 register(org.glassfish.jersey.media.multipart.MultiPartFeature.class); } }
