首先把jersey的相关jar放到WEB-INF/lib目录下
web.xml
<servlet>
<servlet-name>Jersey Spring</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.axisspring.api</param-value>//你的web service类所在的包
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Spring</servlet-name>
<url-pattern>/api/*</url-pattern>//你想匹配的路径
</servlet-mapping>
application-context.xml
<context:annotation-config />
<context:component-scan base-package="com.axisspring.api" />
<bean id="apiDao" class="com.axisspring.dao.ApiDao">
</bean>
<bean id="apiService" class="com.axisspring.api.ApiService" >
</bean>
<bean id="apiService2" class="com.axisspring.api.ApiService2">
</bean>
<bean id="apiService3" class="com.axisspring.api.ApiService3">
</bean>
ApiDao
public class ApiDao {
public String getName() {
return "mock";
}
}
ApiService
@Path("s1")
@Component
@Scope("request")
public class ApiService {
private int count;
@Autowired
private ApiDao apiDao;
@GET
@Produces(MediaType.APPLICATION_XML)
public List<City> getCity(@DefaultValue("shanghai") @QueryParam("cname") String cityName) {
count++;//这里虽然scope设置的是request,但实际上只有一个对象count会一直累加 ????
List<City> a = new ArrayList<City>();
for (int i = 0; i < 10; i++) {
City c = new City();
c.setName(cityName+ " " + i+" "+count);
c.setZone("zone " + i + apiDao.getName());
a.add(c);
}
return a;
}
City
@XmlRootElement //加上这个才能解析成json 或 xml
public class City {
private String name;
private String zone;
ApiService2
@Path("s2")
@Component
@Scope("request")
public class ApiService2 {
@Autowired
private ApiDao apiDao;
@GET
@Produces(MediaType.APPLICATION_JSON)
public Person getCity(@DefaultValue("shanghai") @QueryParam("cname") String cityName) {
Person p = new Person();
p.setAge(22);
p.setName("lich");
City c = new City();
c.setName(cityName);
c.setZone("zone " + apiDao.getName());
p.setCity(c);
return p;
}
输出
http://localhost:8080/axisspring/api/s1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cities><city><name>shanghai 0 1</name><zone>zone 0mock</zone></city><city><name>shanghai 1 1</name><zone>zone 1mock</zone></city><city><name>shanghai 2 1</name><zone>zone 2mock</zone></city><city><name>shanghai 3 1</name><zone>zone 3mock</zone></city><city><name>shanghai 4 1</name><zone>zone 4mock</zone></city><city><name>shanghai 5 1</name><zone>zone 5mock</zone></city><city><name>shanghai 6 1</name><zone>zone 6mock</zone></city><city><name>shanghai 7 1</name><zone>zone 7mock</zone></city><city><name>shanghai 8 1</name><zone>zone 8mock</zone></city><city><name>shanghai 9 1</name><zone>zone 9mock</zone></city></cities>
http://localhost:8080/axisspring/api/s2
{"age":"22","city":{"name":"shanghai","zone":"zone mock"},"name":"lich"}
分享到:
相关推荐
集成Jersey和Spring的关键在于Spring的Servlet容器,如Spring Boot的嵌入式Tomcat。首先,我们需要在项目中添加Jersey和Spring的相关依赖,这通常通过Maven或Gradle的配置文件完成。然后,我们可以创建一个Spring...
Jersey和Spring的集成使用是为了在Java应用中构建RESTful Web服务,并利用Spring框架的强大功能进行依赖注入和服务管理。以下是对这两个技术集成的关键知识点的详细解释: 1. **Jersey简介**: Jersey是实现Java ...
* 集成(Integration):Jersey还提供可以轻松集成Spring、Guice、Apache Abdera的库。 构建RESTful Web服务 ----------------- 要构建RESTful Web服务,需要设置环境,包括: * IDE:Eclipse IDE for JEE (v3.4+...
将你的项目打包成WAR文件,部署到支持Spring和Jersey的Web服务器,如Tomcat。通过浏览器或HTTP客户端工具访问`http://yourserver/yourapp/api/yourapi`,测试接口是否正常工作。 以上就是Spring 4.x集成Jersey 2.x...
3. **集成(Integration)**:Jersey还提供了可以轻松集成到Spring、Guice、Apache Abdera等框架中的库。 #### 构建RESTful Web服务 本节将介绍如何使用Eclipse和Tomcat构建一个简单的RESTful Web服务。 ##### 开发...
以及集成部分,允许与Spring、Guice等框架进行无缝集成。 要构建一个简单的RESTful Web服务,首先我们需要一个支持JAX-RS的Web容器,如Apache Tomcat。然后,在IDE(如Eclipse for JEE)中创建一个新的Web项目,并...
**集成Jersey和Spring** 的好处在于,你可以利用Spring的强大功能管理服务的生命周期和依赖注入,同时利用Jersey的简洁API来构建RESTful服务。这样可以创建出可扩展且易于维护的Web应用。 **环境配置** 要运行这个...
下载后里面的target目录下有war包,可以直接放在tomcat下运行。 项目使用Intellij Idea 14 创建。 http://localhost:8080/rest/helloWorld/a 单独的jersey...http://localhost:8080/rest/demo/hello 集成spring的jersey
标题 "matters-rest-spring-jersey-tomcat-mybatis" 暗示这是一个关于构建RESTful服务的项目,使用了Spring、Jersey、Tomcat和MyBatis这些技术。描述中的“事项-休息-春天-球衣-tomcat-mybatis 1”可能是项目名的另...
首先,SpringBoot简化了Spring应用的初始搭建和配置过程,通过内置的Tomcat服务器和"starters"模块,可以快速创建独立运行的应用。要集成Jersey,我们需要在`pom.xml`文件中添加相应的依赖,Jersey是一个轻量级的...
### Jersey+Spring+Hibernate配置详解 #### 一、编写目的 本文档旨在详细介绍如何通过Spring、Hibernate和Jersey这三个框架来构建一个RESTful Web服务。文章不仅覆盖了基础的环境配置,还包括了如何搭建框架、配置...
4. 集成Jersey:引入Jersey的依赖,并在Spring Boot的主配置类上添加`@EnableJersey`注解,启动Jersey服务器。 5. 创建RESTful API:定义Jersey资源类,使用`@Path`注解标识RESTful端点,`@GET`、`@POST`等注解表示...
具有Spring集成的简单REST服务器 以下是创建不同类型的Jersey项目的方法: 创建一个示例Jersey 2.3.1项目,该项目生成一个可以在Web容器(Tomcat / Jetty)中运行的.war: mvn archetype:generate -...
标题中的"jersey 1.17+spring 3.1.0.RELEASE+hibernate 3.3.1.GA maven 配置文"揭示了一个集成开发环境的配置,涉及到三个关键的Java技术栈组件:Jersey、Spring和Hibernate。下面将详细介绍这三个组件以及如何在...
MyBatis3支持动态SQL,可以方便地进行复杂的查询操作,同时提供了与Spring的无缝集成,实现数据访问层的事务管理。 Jersey是官方支持的Java RESTful Web服务实现,它是Java API for RESTful Web Services (JAX-RS)...
2. Jersey作为JAX-RS规范的实现,以及如何在Spring Boot中集成Jersey。 3. 使用Jersey创建RESTful服务,处理文件上传的HTTP请求。 4. 跨域资源共享(CORS)的概念及其在Spring Boot中的配置。 5. 文件上传的前端实现...
【标题】"test-webapp-jersey-tomcat-jdbctemplate" 是一个基于Java的Web应用程序项目,它集成了Jersey、Tomcat和JdbcTemplate技术。这个项目旨在创建一个RESTful Web服务,通过Tomcat服务器运行,并使用...
5. **jersey-servlet-1.19.1.jar**:这个jar包使得Jersey可以与Servlet容器(如Tomcat)集成,将RESTful服务部署在Web应用上。 6. **jackson-mapper-asl-1.9.2.jar** 和 **jackson-core-asl-1.9.2.jar**:这两个是...
重点涵盖环境配置、Spring框架配置、Jersey与Spring的集成配置,以及通过前端Ajax调用REST服务的示例。 #### 环境配置 ##### 开发工具配置 开发工具的正确配置对于搭建REST服务至关重要。根据文档描述,推荐的...