使用jaxrs规范开发webservice(三)

什么是REST:

定义:REST就是一种编程风格,它可以精确定位网上资源(服务接口,方法,参数)

REST支持的数据格式:xml、json

REST支持发送方式:GET、POST

使用jaxrs规范开发webservice

服务器端

实体类的编写:

@XmlRootElement(name="people")
public class People {
	private int id;
	private String name;
	private String gender;
	private Date birth;
}
接口:

@WebService
@Path("/people")
public interface IPeople {
	@GET//指定请求方式,如果服务端发布的时候指定的是GET(POST),那么客户端访问时必须使用GET(POST)
	@Produces(MediaType.APPLICATION_XML)//指定服务数据类型
	@Path("/query")//@Path("/query/{id}")就是将“/query”映射到方法上,“{id}”映射到参数上,多个参数,以“/”隔开,放到“{}”中
	public People queryPeople();
	@GET//指定请求方式,如果服务端发布的时候指定的是GET(POST),那么客户端访问时必须使用GET(POST)
	@Produces(MediaType.APPLICATION_XML)//指定服务数据类型
	@Path("/queryAll")
	public List queryAllPeople();
}
发布服务:

public class test {
	public static void main(String[] args) {
		JAXRSServerFactoryBean jaxRSServerFactoryBean=new JAXRSServerFactoryBean();
		jaxRSServerFactoryBean.setAddress("http://127.0.0.1:12223/cxf_jaxrs_server");
		jaxRSServerFactoryBean.setServiceClass(PeopleImpl.class);
		jaxRSServerFactoryBean.setServiceBean(new PeopleImpl());
		jaxRSServerFactoryBean.create();
		System.out.println("成功");
	}
}

客户端

public class test {
		public static void main(String[] args) throws IOException {
			//第一步:创建服务地址,不是WSDL地址
			URL url = new URL("http://127.0.0.1:12223/cxf_jaxrs_server/people/queryAll");
			//第二步:打开一个通向服务地址的连接
			HttpURLConnection connection = (HttpURLConnection) url.openConnection();
			//第三步:设置参数
			//3.1发送方式设置:POST必须大写
			connection.setRequestMethod("GET");
			//3.2设置数据格式:content-type
			//3.3设置输入输出,因为默认新创建的connection没有读写权限,
			connection.setDoInput(true);
			

			//第五步:接收服务端响应,打印
			int responseCode = connection.getResponseCode();
			if(200 == responseCode){//表示服务端响应成功
				InputStream is = connection.getInputStream();
				InputStreamReader isr = new InputStreamReader(is);
				BufferedReader br = new BufferedReader(isr);
				
				StringBuilder sb = new StringBuilder();
				String temp = null;
				while(null != (temp = br.readLine())){
					sb.append(temp);
				}
				System.out.println(sb.toString());
				//dom4j解析返回数据,课下作业
				is.close();
				isr.close();
				br.close();
			}
		}
}

访问地址:

http://127.0.0.1:12223/cxf_jaxrs_server/people/queryAll/

jaxrs规范整合spring进行REST格式的开发:

服务器端编写:

People.java如上
IPeople如上
PeopleImpl如上
配置文件:
web.xml


  cxf_jaxrs_server
  
  	contextConfigLocation
  	classpath:ApplicationContext.xml
  
  
  	org.springframework.web.context.ContextLoaderListener
  
  
  	aaa
  	org.apache.cxf.transport.servlet.CXFServlet
  
  
  	aaa
  	/people/*
  
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
ApplicationContext.xml

 


	
		
	


访问地址:http://127.0.0.1/cxf_jaxrs_server/people/cxf_jaxrs_servser/people/query

http://127.0.0.1:8080/项目名称/servlet配置的路径/xml配置的路径/接口中配置的路径/方法

客户端的编写

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>


 
  
  Document
  
 
 
  
 

你可能感兴趣的:(WebService)