`
萧_瑟
  • 浏览: 160540 次
社区版块
存档分类
最新评论

jersey demo

    博客分类:
  • java
阅读更多

 

同样是Maven构建的项目,不解释。

 

 

项目目录结构:

 

 

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>com.royal</groupId>
  <artifactId>jerseyDemo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>jerseyDemo</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey</artifactId>
      <version>0.8-ea</version>
    </dependency>
    
  </dependencies>
</project>

 

有些包down不下来,请手动下载后加入.m2/repository库中。

 

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
    <servlet>
        <servlet-name>Jersey</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.royal.resources</param-value>
        </init-param>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>Jersey</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

注意:自定义拦截路径<url-pattern>/rest/*</url-pattern> 

 

 

User.java

package com.royal.model;

import java.io.Serializable;

import javax.xml.bind.annotation.XmlRootElement;

/**
 * 
 *这里用到的表示它返回的时候的类型,即此User类可以用于XML返回。
 */
@XmlRootElement
public class User implements Serializable{

	private static final long serialVersionUID = 1L;
	
	private String name;
	
	private String password;
	
	public User(){
		
	}
	
	public User(String name, String password){
		this.name = name;
		this.password = password;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
	public String toString(){
		return "Name:" + name + ",Password:" + password;
	}

}

 

 

UserService.java

package com.royal.resources;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.ProduceMime;
import javax.ws.rs.core.MediaType;

import com.royal.model.User;

@Path("/userService")
public class UserService {
	
	/**
	 * Hello World
	 */
	@GET
	@ProduceMime(MediaType.TEXT_PLAIN)
    public String hello() {  
        return "Jersey Hello World!";  
    } 
	
	/**
	 * new a User
	 */
	@GET
	@Path("{name}/{password}")
	@ProduceMime(MediaType.APPLICATION_JSON)
	public User getUser(@PathParam("name") String name, @PathParam("password") String password){
		return new User(name,password);
	}
	
}

 

 

 

客户端测试:

 

UserClient.java

package com.royal.jerseyDemo;

import com.royal.model.User;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;

public class UserClient {

	public static String root_uri = "http://localhost:8080/jerseyDemo/rest/userService";

	private Client client = null;

	public UserClient() {
		if (client == null) {
			client = Client.create();
		}
	}

	public static void main(String[] args) {
		UserClient uc = new UserClient();

		// hello world
		String hello_str = uc.hello();
		System.out.println(hello_str);

		// new a User
		User user = uc.getUser("royal", "2xiaose");
		System.out.println(user);
	}

	/**
	 * hello world
	 */
	public String hello() {
		 WebResource resource = client.resource(root_uri);
		 String str = resource.get(String.class);
		 return str;
	}

	/**
	 * new a User
	 */
	public User getUser(String name, String password) {
		WebResource resource = client.resource(root_uri);
		User user = resource.path(name + "/" + password).get(User.class);
		return user;
	}

}

 

注意 root_uri

 

 

 

测试结果:


 

 

浏览器中输入:

 

http://localhost:8080/jerseyDemo/rest/userService             结果:

 

 

http://localhost:8080/jerseyDemo/rest/userService/royal/2xiaose        结果:

 

 

参考:http://www.ishang123.com/jishubowen/java/2012-08-01/126.html

  • 大小: 22.9 KB
  • 大小: 9.8 KB
  • 大小: 18.1 KB
  • 大小: 16.9 KB
分享到:
评论

相关推荐

    eclipse-maven-jersey demo

    【标题】"eclipse-maven-jersey demo"是一个演示项目,它展示了如何在Eclipse环境中使用Maven构建和管理一个基于Jersey的RESTful Web服务应用。Jersey是Java平台上的一个开源框架,用于实现 Representational State ...

    java Jersey Demo

    Java Jersey Demo是一个基于Java语言实现的RESTful服务示例,它使用了Jersey框架,该框架是Java EE的一部分,专门用于构建RESTful Web服务。REST(Representational State Transfer)是一种软件架构风格,常用于设计...

    Jersey Demo

    关于restful框架jersey而言,并没有太多的中文文档供参考,估计是比较轻量吧。这里特别写了一个Demo供新手参考。本项目是用Intellij idea工具开发,用gradle搭建。具体项目详情请参阅里面的readme.txt。

    eclipse-maven-jersey demo2

    【标题】"eclipse-maven-jersey demo2"是一个示例项目,旨在演示如何在Eclipse集成开发环境中创建一个基于Maven构建的Web工程,并整合Jersey框架来实现RESTful服务。这个教程将帮助开发者了解如何配置Maven、Eclipse...

    RESTful Jersey Demo

    RESTful Jersey Demo RESTful Jersey Demo RESTful Jersey Demo

    jersey服务demo

    ** Jersey 服务 Demo 知识点详解** Jersey 是一个开源的、基于 Java 的 RESTful Web 服务客户端和服务器框架,它实现了 JAX-RS(Java API for RESTful Web Services)规范。本 Demo 主要展示了如何使用 Jersey 构建...

    Jersey-Demo

    【标题】:Jersey-Demo 【描述】:在Java Web开发中,Jersey是一个流行的RESTful服务框架,它基于JAX-RS(Java API for RESTful Web Services)规范。这个"Jersey-Demo"项目可能是一个示例,用于演示如何使用Jersey...

    Jersey+spring Demo

    【标题】"Jersey+Spring Demo" 是一个基于Java的Web服务开发实例,它整合了两个重要的技术框架:Jersey和Spring。这个示例旨在帮助开发者理解如何在J2EE环境中构建RESTful Web服务,同时利用Spring框架进行依赖注入...

    jersey webapp ajax demo

    【标题】:“jersey webapp ajax demo”是一个展示如何在Java Web应用中使用Jersey框架与Ajax技术进行交互的示例项目。这个项目是通过Maven构建系统来管理依赖和构建流程的,使得开发者能够快速地搭建和测试RESTful...

    BetterServer:Spring boot,mybatis,jersey demo

    1. `src/main/java`: 包含主要的Java源代码,如Spring Boot的主配置类、MyBatis的Mapper接口、Service类和Jersey的REST资源类。 2. `src/main/resources`: 包含配置文件(如`application.yml`)、MyBatis的Mapper ...

    jersey和Google Protocol Buffer开发Demo

    【标题】:Jersey与Google Protocol Buffer开发Demo详解 【描述】:本示例将深入探讨如何使用Jersey,一个强大的Java RESTful Web服务框架,与Google Protocol Buffers(简称PB)结合,进行高效的数据序列化。这个...

    jersey和jersey+spring的demo

    下载后里面的target目录下有war包,可以直接放在tomcat下运行。 项目使用Intellij Idea 14 创建。 http://localhost:8080/rest/helloWorld/a 单独的jersey...http://localhost:8080/rest/demo/hello 集成spring的jersey

    Jersey Spring Integration Demo

    关于Spring,也是我们常用的IOC在java下一种实现了,不过相对.net下IOC的实现,Spring相对更强大(反正之前在.Net下,我是习惯了啥都去配置,在Java下才知道有一种Scan模式,本Demo中也用到了,不知道的可以查查...

    Jersey client+servet Demo

    【标题】:“Jersey client+servet Demo” 在IT领域,开发RESTful Web服务是常见的任务,而Jersey是Java平台上的一个开源框架,专门用于实现RESTful(Representational State Transfer)服务。本Demo展示了如何使用...

    SpringBoot第 6 讲:SpringBoot+jersey跨域文件上传

    在本教程中,我们将深入探讨如何使用Spring Boot与Jersey实现跨域文件上传。Spring Boot以其简化Spring应用程序开发的特性而受到广泛欢迎,而Jersey是JAX-RS规范的一个实现,用于构建RESTful Web服务。当我们谈论...

    Jersey入门Demo

    @GET @Produces(MediaType.TEXT_PLAIN) public String sayHello() { return "Hello World!" ; } @GET @Path("/{param}") @Produces("text/plain;charset=UTF-8") public String sayHelloToUTF8(@...

    demo-rest-jersey-spring, 在博客文章中,Codingpedia.org 上描述的项目.zip

    demo-rest-jersey-spring, 在博客文章中,Codingpedia.org 上描述的项目 demo-rest-jersey-spring @ 的先决条件:MySQL 5.5或者 5.6IDE ( preffered Eclipse 4.3 )JDK 1.7 ( 如果你想使用来自项目的jetty-maven-p

Global site tag (gtag.js) - Google Analytics