JAX-RS之Jersey入门

目录

概念
创建基本web框架
修改pom依赖
使用Jersey创建rest服务
部署到tomcat
Demo下载地址
参考文献

概念

JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java注解来简化Web服务的客户端和服务端的开发和部署。

基于JAX-RS实现的框架有Jersey,RESTEasy等,以下教程是使用Jersey框架

创建基本web框架

  • maven创建
mvn archetype:generate -DgroupId=com.ash -DartifactId=test-jax-rs -DarchetypeArtifactId=maven-archetype-webapp
  • 导入Eclipse

修改pom依赖

  • servlet
<dependency>
    <groupId>javax.servletgroupId>
    <artifactId>javax.servlet-apiartifactId>
    <version>3.0.1version>
    <scope>providedscope>
dependency>
  • Jersey的核心服务端实现
<dependency>
    <groupId>org.glassfish.jersey.coregroupId>
    <artifactId>jersey-serverartifactId>
    <version>2.25.1version>
dependency>
  • Jersey运行环境需要依赖的jar包,根据运行的环境的不同依赖的container不同。
<dependency>
    <groupId>org.glassfish.jersey.containersgroupId>
    <artifactId>jersey-container-servletartifactId>
    <version>2.25.1version>
dependency>

添加以上依赖,环境算是搭建好了,下面创建一个简单的jersey实例

使用jersey创建rest服务

  • 添加如下class

  • 修改web.xml


<web-app>
    <servlet>
        <servlet-name>jerseyservlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainerservlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.packagesparam-name>
            <param-value>
                com.ash
            param-value>
        init-param>
        <load-on-startup>1load-on-startup>
    servlet>

    <servlet-mapping>
        <servlet-name>jerseyservlet-name>
        <url-pattern>/rest/*url-pattern>
    servlet-mapping>
web-app>

该修订的作用是注册org.glassfish.jersey.servlet.ServletContainer servlet,并通过init-param参数jersey.config.server.provider.packages指定rest服务所在文件夹com.ash,多个以逗号分隔。
当然也可以指定单独的类,通过jersey.config.server.provider.classnames参数

部署到tomcat

  • 在浏览器输入http://localhost:8080/test-jax-rs/rest/hello/jersey,如下图所示:

其中的jersey可以任意替换

Demo下载地址 http://pan.baidu.com/s/1bpq3QVl

参考文献

jersey1.X与jersey2.X的区别

JAX-RS Tutorial

jersey Homepage

Modules and dependencies


你可能感兴趣的:(Jersey,jersey)