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

      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

      主站蜘蛛池模板: 少妇又爽又刺激在线直播| 国产成人cao在线| 中文字幕偷拍亚洲九色| 青浦区| 国产一区二区三区4区| 国产一区二区三区视频了| 亚洲五月七月丁香缴情| 中文字幕日本丰满人妻| 雅江县| 亚洲午夜无码久久久久软件| 久久久诱惑一区二区三区| 在线观看精品国产福利片87| 日本岛国视频一区二区三区 | 国产成人丝袜网站在线看| 熟女人妻丰满熟妇啪啪| 精品熟女亚洲av在线观看| 免费国产h视频在线观看86| 亚洲成AV人国产毛片| 当涂县| 开封市| 泸定县| 西乌珠穆沁旗| 饶河县| 亚洲女同系列高清在线观看| 垦利县| 国产成人精品自拍视频| 扎兰屯市| 国产黄片一区视频在线观看| 杨浦区| 亚洲av套图一区二区| 草莓视频中文字幕人妻系列| 亚洲国产免费av网站| 国产欧美亚洲另类第一页| 亚洲大片中文字幕久久| 亚洲av套图一区二区| 久久久午夜毛片免费| 精选二区在线观看视频| 日韩av不卡一二三区| 中文字幕大乳少妇| 日韩极品视频在线观看免费| 中文字幕精品人妻av在线|