Jersey初始化配置
一 实际项目配置
公司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); } }