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

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
分享到:
评论

相关推荐

    Jersey Demo

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

    eclipse-maven-jersey demo

    该demo是通过Maven原型(jersey-quickstart-grizzly )创建jersey项目的实例。

    java Jersey Demo

    java Jersey Demo Rest框架,不错的demo 详细介绍请看:http://blog.csdn.net/myexman/article/details/38273253

    RESTful Jersey Demo

    RESTful Jersey Demo RESTful Jersey Demo RESTful Jersey Demo

    jersey服务demo

    jersey服务demo,用于jersey简单案例的demo。希望可以帮到大家。

    eclipse-maven-jersey demo2

    该demo是创建maven web工程 配置jersey项目的实例 请参考http://blog.csdn.net/zhongyuan_1990/article/details/45644803

    BetterServer:Spring boot,mybatis,jersey demo

    更好的服务器 Spring boot,mybatis,jersey demo

    jersey-examples-2.26-all.zip

    jersey-examples-2.26-all.zip 最新jersey demo范例。

    Jersey+spring Demo

    一个Jersey+Spring框架的示例。

    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-Demo

    Jersey、异常处理、过滤器、拦截器

    jersey webapp ajax demo

    基于maven构建的jersey示例,通过ajax调用的完整测试。

    Jersey Spring Integration Demo

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

    jersey和Google Protocol Buffer开发Demo

    jersey和Google Protocol Buffer开发的Demo 比较实用

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

    upload_demo.zip

    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(@...

    Jersey client+servet Demo

    这是最简单的 基于rest1.0 的一套Demo 分为client 和server 端 通过client端发送请求到server端 然后响应

Global site tag (gtag.js) - Google Analytics