中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

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

      時(shí)間:2024-07-03 11:01:09 J2EE培訓(xùn) 我要投稿
      • 相關(guā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的開發(fā)與應(yīng)用基礎(chǔ)07-12

      j2ee與java web的區(qū)別09-19

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

      構(gòu)建高性能J2EE應(yīng)用的技巧07-20

      J2EE Web架構(gòu)與CS架構(gòu)命名上的差異10-04

      如何面試Web前端開發(fā)10-10

      我打算如何學(xué)習(xí)J2EE09-13

      如何由淺入深實(shí)踐學(xué)習(xí) Web 標(biāo)準(zhǔn)10-10

      J2EE架構(gòu)與設(shè)計(jì)培訓(xùn)08-30

      如何構(gòu)建基金銷售團(tuán)隊(duì)10-13

      主站蜘蛛池模板: 人妻无码中文专区久久AV| 亚洲国产综合精品久久av| 郴州市| 蜜桃av噜噜一区二区三区香| 亚洲乱熟女一区二区三区不卡 | 亚洲αv在线精品糸列| 毛片av在线尤物一区二区| 日韩女优一区二区视频| 国产福利一区二区三区视频在线看 | 91久久精品美女高潮不断| 锡林浩特市| 石河子市| 成人午夜免费福利| 午夜精品一区二区久久做老熟女| 国产一区二区亚洲av| 北岛玲中文字幕人妻系列| 亚洲αv在线精品糸列| 和林格尔县| 沁阳市| 北海市| 安远县| 临沭县| 上犹县| 天津市| 国产成人精品自拍视频| 91中文字幕一区在线| a√无码在线观看| 亚洲精品中文字幕日本| 精品熟女亚洲av在线观看| 国产360激情盗摄一区在线观看| 国产天堂一区二区三区四区| 国产精品国产午夜免费福利看| 国产三级视频一区二区| 登封市| 长治市| 中文字幕日产人妻久久| 精品亚洲人伦一区二区三区| 99久久国产一区二区三区| 一区二区三区国产偷拍| 国产啪精品视频网站免| 日韩av无卡无码午夜观看|