Пример Привет мир Джерси

Jersey , справочная реализация для разработки веб-сервиса RESTful на основе JAX-RS (JSR 311 ) Спецификация.

В этом руководстве мы покажем, как разработать простое веб-приложение REST hello world с Jersey .

Технологии и инструменты, используемые в этой статье:

, Джерси 1.8

, JDK 1.6

, Tomcat 6.0

, Maven 3.0.3

, Затмение 3.6

1. Структура каталогов

Это окончательная структура веб-проекта этого урока.

каталог папки

2. Стандартный веб-проект

Создайте стандартную структуру веб-проекта Maven.

mvn archetype:generate -DgroupId=com.mkyong.rest -DartifactId=RESTfulExample
    -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
  • Примечание ** Для поддержки Eclipse используйте команду Maven:

mvn eclipse:eclipse -Dwtpversion=2.0

3. Зависимости проекта

Джерси опубликовано в репозитории Java.net Maven. Чтобы разработать приложение Jersey REST, просто объявите « jersey-server » в Maven `pom.xm`l.

File: pom.xml

<project ...>

    <repositories>
        <repository>
            <id>maven2-repository.java.net</id>
            <name>Java.net Repository for Maven</name>
            <url>http://download.java.net/maven/2/</url>
            <layout>default</layout>
        </repository>
    </repositories>

    <dependencies>

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.8</version>
        </dependency>

    </dependencies>

</project>

4. ОТДЫХ

Простой REST сервис с Джерси.

package com.mkyong.rest;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;

@Path("/hello")
public class HelloWorldService {

    @GET
    @Path("/{param}")
    public Response getMsg(@PathParam("param") String msg) {

        String output = "Jersey say : " + msg;

        return Response.status(200).entity(output).build();

    }

}

5. web.xml

В файле «web.xml» зарегистрируйте «com.sun.jersey.spi.container.servlet.ServletContainer`» и поместите папку службы Джерси в « init-param », «com.sun.jersey.config». .property.packages` «.

File: web.xml

<web-app id="WebApp__ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app__2__4.xsd">
    <display-name>Restful Web Application</display-name>

    <servlet>
        <servlet-name>jersey-serlvet</servlet-name>
        <servlet-class>
                     com.sun.jersey.spi.container.servlet.ServletContainer
                </servlet-class>
        <init-param>
             <param-name>com.sun.jersey.config.property.packages</param-name>
             <param-value>com.mkyong.rest</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/rest/** </url-pattern>
    </servlet-mapping>

</web-app>

6. Демо

В этом примере веб-запрос от « projectURL/rest/hello/ » будет соответствовать « HelloWorldService » через @Path ("/hello ") .

И « \ {любые значения} » из « projectURL/rest/hello/\ {любые значения} » будут соответствовать параметру, помеченному как @ PathParam .

URL: http://localhost : 8080/RESTfulExample/rest/hello/mkyong

Изображение://wp-content/uploads/2011/07/jersey-hello-world.png[демо, название = "джерси-привет-мир", ширина = 567, высота = 272]

Скачать исходный код

Загрузить его - ссылка://wp-content/uploads/2011/07/JAX-RS-Hello-World-Jersey-Example.zip[JAX-RS-Hello-World-Jersey-Example.zip](6 КБ)

Рекомендации

, ссылка://webservices/jax-rs/resteasy-hello-world-example/[RESTEasy hello

пример мира], http://www.vogella.de/articles/REST/article.html [REST с Java

(JAX-RS) с использованием Джерси - Учебник], http://www.ibm.com/developerworks/webservices/library/ws-restful/ [IBM

: RESTful Web services: The basics]. http://www.oracle.com/technetwork/articles/javase/index-137171.html [RESTful

Веб-сервисы]

ссылка://тег/hello-world/[привет мир]ссылка://тег/jax-rs/[jax-rs]ссылка://метка/Джерси/[Джерси]