亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

j2ee培訓:如何構建RESTful Web Service

時間:2024-07-03 11:01:09 J2EE培訓 我要投稿
  • 相關推薦

j2ee培訓:如何構建RESTful Web Service

  JavaEE的核心是EJB3.0, 其提供了更兼便捷的企業級的應用框架。下面yjbys小編為大家準備了關于如何構建RESTful Web Service的文章,歡迎閱讀。

j2ee培訓:如何構建RESTful Web Service

  1. 首先是實體類,注意其中的@XmlRootElement注解

  package com.googlecode.garbagecan.cxfstudy.jaxrs;

  import java.util.Date;

  import javax.xml.bind.annotation.XmlRootElement;

  @XmlRootElement(name="Customer")

  public class Customer {

  private String id;

  private String name;

  private Date birthday;

  public String getId() {

  return id;

  }

  public void setId(String id) {

  this.id = id;

  }

  public String getName() {

  return name;

  }

  public void setName(String name) {

  this.name = name;

  }

  public Date getBirthday() {

  return birthday;

  }

  public void setBirthday(Date birthday) {

  this.birthday = birthday;

  }

  @Override

  public String toString() {

  return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);

  }

  }

  2. RESTful Web Service接口類,可以通過修改@Produces注解來聲明暴露接口返回的json還是xml數據格式

  package com.googlecode.garbagecan.cxfstudy.jaxrs;

  import javax.ws.rs.GET;

  import javax.ws.rs.Path;

  import javax.ws.rs.PathParam;

  import javax.ws.rs.Produces;

  import javax.ws.rs.QueryParam;

  @Path(value = "/customer")

  @Produces("*/*")

  //@Produces("application/xml")

  //@Produces("application/json")

  public interface CustomerService {

  @GET

  @Path(value = "/{id}/info")

  Customer findCustomerById(@PathParam("id")String id);

  @GET

  @Path(value = "/search")

  Customer findCustomerByName(@QueryParam("name")String name);

  }

  3. RESTful Web Service接口實現類

  package com.googlecode.garbagecan.cxfstudy.jaxrs;

  import java.util.Calendar;

  public class CustomerServiceImpl implements CustomerService {

  public Customer findCustomerById(String id) {

  Customer customer = new Customer();

  customer.setId(id);

  customer.setName(id);

  customer.setBirthday(Calendar.getInstance().getTime());

  return customer;

  }

  public Customer findCustomerByName(String name) {

  Customer customer = new Customer();

  customer.setId(name);

  customer.setName(name);

  customer.setBirthday(Calendar.getInstance().getTime());

  return customer;

  }

  }

  4. Server端代碼

  package com.googlecode.garbagecan.cxfstudy.jaxrs;

  import org.apache.cxf.interceptor.LoggingInInterceptor;

  import org.apache.cxf.interceptor.LoggingOutInterceptor;

  import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;

  public class MyServer {

  public static void main(String[] args) throws Exception {

  JAXRSServerFactoryBean factoryBean = new JAXRSServerFactoryBean();

  factoryBean.getInInterceptors().add(new LoggingInInterceptor());

  factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());

  factoryBean.setResourceClasses(CustomerServiceImpl.class);

  factoryBean.setAddress("http://localhost:9000/ws/jaxrs");

  factoryBean.create();

  }

  }

  5. Client端代碼

  package com.googlecode.garbagecan.cxfstudy.jaxrs;

  import org.apache.commons.httpclient.HttpClient;

  import org.apache.commons.httpclient.HttpStatus;

  import org.apache.commons.httpclient.methods.GetMethod;

  public class MyClient {

  public static void main(String[] args) throws Exception {

  go("http://localhost:9000/ws/jaxrs/customer/1/info");

  go("http://localhost:9000/ws/jaxrs/customer/search?name=abc");

  }

  private static void go(String url) throws Exception {

  HttpClient client = new HttpClient();

  GetMethod method = new GetMethod(url);

  int statusCode = client.executeMethod(method);

  if (statusCode != HttpStatus.SC_OK) {

  System.err.println("Method failed: " + method.getStatusLine());

  }

  byte[] responseBody = method.getResponseBody();

  System.out.println(new String(responseBody));

  }

  }

  6.測試

  首先運行MyServer類,然后運行MyClient類來驗證Web Service。

【j2ee培訓:如何構建RESTful Web Service】相關文章:

Web Service的開發與應用基礎07-12

j2ee與java web的區別09-19

Java Web開發和J2EE的區別07-07

構建高性能J2EE應用的技巧07-20

J2EE Web架構與CS架構命名上的差異10-04

如何面試Web前端開發10-10

我打算如何學習J2EE09-13

如何由淺入深實踐學習 Web 標準10-10

J2EE架構與設計培訓08-30

如何構建基金銷售團隊10-13

主站蜘蛛池模板: 国产成人av乱码免费观看| 露脸国产精品自产在线播| 久久久久青草线蕉亚洲麻豆| 337p日本大胆欧美裸体艺术| 亚洲一区二区三区写真| 青青青亚洲精品国产| 亚洲第一福利视频| 国产毛片欧美毛片久久久| 国产精品成人无码免费| 成年免费视频黄网站zxgk| 国产成人精品综合| 精品少妇人妻av一区二区三区| 国产精品va尤物在线观看蜜芽 | 石门县| 欧美最猛黑人xxxxx猛交| 男女做爰猛烈叫床视频动态图| 国内精品久久久久久不卡影院| 99er这里只有精品| 夜鲁鲁鲁夜夜综合视频欧美| 亚洲欧美综合精品成人网| 久久国产亚洲偷自| 亚洲第一无码xxxxxx| 精品久久久久久中文字幕大豆网 | 狠狠色丁香久久综合婷婷| 欧美日韩无砖专区一中文字| 国产老女人免费观看黄A∨片| 免费视频成人片在线观看| 欧美成人精品一区二区三区色欲| 衡南县| 成人午夜福利免费专区无码| 久久中文字幕人妻熟女凤间| 精品一區二區久久久久久久網站| 用舌头去添高潮无码av在线观看| 色综合天天综合欧美综合| 欧美交换配乱吟粗大视频| 国产乱子伦在线一区二区| 欧美午夜一区二区福利视频| 亚洲第一天堂无码专区| 永久免费观看国产裸体美女| 搡老岳熟女国产熟妇| 99视频全部免费|