Sunday 5 April 2015

RESTful Web Services with Java (JAX-RS) using Jersey Example


Rest services with java(JAX-RS) using jersey example tutorial


Step 1: create handle class and define path , method and response.

UserHandler.java

package com.javaproficiency.jerseydemo.demo;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;

@Path("/user")
public class UserHander {

    @GET
    public Response getMessage(){
        String message="Jersey Hello";
        return Response.status(Status.OK).entity(message).build();
    }
   
}

Step  2. configure web.xml file as

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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>JerseyDemo</display-name>
    <servlet>
        <servlet-name>RestServices</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>com.javaproficiency.jerseydemo.demo</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>RestServices</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
</web-app>

Step 3. Add dependency in pom.xml file as bellow.
pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>JerseyDemo</groupId>
    <artifactId>JerseyDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-server</artifactId>
            <version>2.13</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>2.13</version>
        </dependency>

        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <scope>provided</scope>
            <version>2.16</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-grizzly2-http</artifactId>
            <version>2.16</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-grizzly2-servlet</artifactId>
            <version>2.16</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-jdk-http</artifactId>
            <version>2.16</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-simple-http</artifactId>
            <version>2.16</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-jetty-http</artifactId>
            <version>2.16</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-jetty-servlet</artifactId>
            <version>2.16</version>
        </dependency>
    </dependencies>

</project>

Step 4:   Project Structure





 Step 5: Run Project and Hit url

How to decide url:
 
HostName:PortNumber/ProjectName/+Your Decide Path

Example:

http://localhost:8080/JerseyDemo/rest/user

                               

Download Project  JerseyDemo-Project



1 comment:

  1. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói
    64 nước cờ trên bàn thương lượng ebook
    mbp là gì
    thuyết erg
    các nghịch lý nổi tiếng
    chi square test là gì
    nghệ thuật nói chuyện trước công chúng dale carnegie
    định lý coase
    học thuyết kỳ vọng của victor vroom
    chiến thắng con quỷ trong bạn audio
    điểm cân bằng nash

    - Nói đúng, quan hệ giữa các nhà đầu tư ven biển và nhân viên công chức là chuyện đau đầu nhất. Mới đầu nói rất ngọt, nhưng khi người ta tới lại như con cá trên thới, tôi làm gì thì làm. Anh muốn làm thì hôm nay đùn đẩy sang mai, mai đùn đẩy sang kia, nếu không thì lãnh đạo không có mặt, nhân viên phụ trách nghỉ phép…. Làm như vậy thì sao có thể thu hút đầu tư.
    - Nhà đầu tư muốn tới làm ăn, vấn đề là có nhiều chỗ để lựa chọn nên cần có điểm khác người. Anh làm nhà đầu tư cảm thấy anh thực lòng muốn suy nghĩ cho mình, phục vụ bọn họ, bọn họ thành công thì anh mới có thành tích, như vậy nhà đầu tư mới có thể tới chỗ chúng ta.
    Triệu Quốc Đống cười hì hì nói:
    - Em tin làm như vậy có thể thu hút đầu tư.

    Thái Chánh Dương nhìn Triệu Quốc Đống một lúc rồi vỗ đầu hắn mà nói:
    - Trong đầu của chú chứa gì vậy mà toàn nghĩ ra mấy thứ linh tinh thế?

    - Thái ca, em đây là muốn tiến lên. Nhìn anh xem, trong vòng một năm từ Bí thư huyện ủy lên làm Phó thị trưởng, bây giờ lại vào Thường vụ thị ủy, sợ nhiều người bực tức đó.

    Triệu Quốc Đống cười cười đầy giảo hoạt khiến Thái Chánh Dương thấy như con chồn chuẩn bị ăn vụng:
    - Chú lại có ý đồ gì vậy hả? Mao Đạo Lâm đề cử chú làm Phó bí thư Đảng ủy Ban quản lý khu Khai Phát nhưng bị ngăn cản. Sang năm cố gắng một chút và nương việc này mà tiến lên. Anh thấy Lương Kiến Hoằng sẽ không đảm nhiệm chức Bí thư Ban quản lý bao lâu nữa, Chủ nhiệm xinh đẹp kia có lẽ sẽ thay. Chú xem có cơ hội thay thế hay không?

    - Sợ khó khăn. Em thiếu kinh nghiệm, một năm lên một bậc chắc khá khó khăn? Chỉ làm Phó bí thư đã bị phản đối, huống hồ làm làm Chủ nhiệm.

    - Cũng đúng, cho nên anh đề nghị chú nếu được thì lên khu Khai Phát thành phố đi. Khu Khai Phát công nghệ cao của An Đô đã được trình lên quốc gia phê duyệt, tỉnh, thành phố đang hoạt động tích cực nên chắc không lâu mấy. Lên đây sẽ là một sân khấu lớn cho chú.

    Thái Chánh Dương nhìn thấy Triệu Quốc Đống đang rất bình tĩnh. Tên này như lúc nào cũng giữ được sự bình tĩnh, không biết do tính cách hay cố gắng như vậy? Chẳng qua làm được như vậy đã là hiếm thấy.

    ReplyDelete