1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. j2ee培訓(xùn):如何構(gòu)建RESTful Web Service

        時(shí)間:2020-10-09 12:04:24 J2EE培訓(xùn) 我要投稿

        j2ee培訓(xùn):如何構(gòu)建RESTful Web Service

          JavaEE的核心是EJB3.0, 其提供了更兼便捷的企業(yè)級(jí)的應(yīng)用框架。下面yjbys小編為大家準(zhǔn)備了關(guān)于如何構(gòu)建RESTful Web Service的'文章,歡迎閱讀。

        j2ee培訓(xùn):如何構(gòu)建RESTful Web Service

          1. 首先是實(shí)體類,注意其中的@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接口類,可以通過(guò)修改@Produces注解來(lái)聲明暴露接口返回的json還是xml數(shù)據(jù)格式

          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接口實(shí)現(xiàn)類

          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.測(cè)試

          首先運(yùn)行MyServer類,然后運(yùn)行MyClient類來(lái)驗(yàn)證Web Service。

        【j2ee培訓(xùn):如何構(gòu)建RESTful Web Service】相關(guān)文章:

        如何壓縮Web Service數(shù)據(jù)12-10

        如何使用Web Service傳輸文件12-10

        如何創(chuàng)建安全的Web Service12-10

        C#開(kāi)發(fā)和調(diào)用Web Service實(shí)例12-06

        Web Service的開(kāi)發(fā)與應(yīng)用基礎(chǔ)12-06

        j2ee與java web的區(qū)別11-05

        J2EE Web考試試題及答案09-17

        Java Web開(kāi)發(fā)和J2EE的區(qū)別11-11

        如何面試Web前端開(kāi)發(fā)12-12

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>