<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 一、總體說明 通過jersey-client接口,創建客戶端程序,來調用Jersey實現的RESTful服務,實現增、刪、改、查等操作。 服務端主要是通過內存的方式,來模擬用戶的增加、刪除、修改、查詢等操作。 ## 二、創建服務端 1.在上文項目中, 在“com.waylau.rest.resources.UserResource“中修改代碼, 首先創建一個HashMap,用來保存添加的用戶 ~~~ private static Map<String,User> userMap = new HashMap<String,User>(); ~~~ 2.創建增、刪、改、查 用戶資源等操作 ~~~ /** * 增加 * @param user */ @POST @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public void createStudent(User user) { userMap.put(user.getUserId(), user ); } /** * 刪除 * @param id */ @DELETE @Path("{id}") public void deleteStudent(@PathParam("id")String id){ userMap.remove(id); } /** * 修改 * @param user */ @PUT @Consumes(MediaType.APPLICATION_XML) public void updateStudent(User user){ userMap.put(user.getUserId(), user ); } /** * 根據id查詢 * @param id * @return */ @GET @Path("{id}") @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public User getUserById(@PathParam("id") String id){ User u = userMap.get(id); return u; } /** * 查詢所有 * @return */ @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public List<User> getAllUsers(){ List<User> users = new ArrayList<User>(); users.addAll( userMap.values() ); return users; } ~~~ ## 三、創建客戶端程序 1.創建包“com.waylau.rest.client”,在包下建一個UserClient.java,代碼如下: ~~~ package com.waylau.rest.client; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Entity; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import org.codehaus.jackson.jaxrs.JacksonJsonProvider; import com.waylau.rest.bean.User; /** * 用戶客戶端,用來測試資源 * @author waylau.com * 2014-3-18 */ public class UserClient { private static String serverUri = "http://localhost:8089/RestDemo/rest"; /** * @param args */ public static void main(String[] args) { addUser(); getAllUsers(); updateUser(); getUserById(); getAllUsers(); delUser(); getAllUsers(); } /** * 添加用戶 */ private static void addUser() { System.out.println("****增加用戶addUser****"); User user = new User("006","Susan","21"); Client client = ClientBuilder.newClient(); WebTarget target = client.target(serverUri + "/users"); Response response = target.request().buildPost(Entity.entity(user, MediaType.APPLICATION_XML)).invoke(); response.close(); } /** * 刪除用戶 */ private static void delUser() { System.out.println("****刪除用戶****"); Client client = ClientBuilder.newClient(); WebTarget target = client.target(serverUri + "/users/006"); Response response = target.request().delete(); response.close(); } /** * 修改用戶 */ private static void updateUser() { System.out.println("****修改用戶updateUser****"); User user = new User("006","Susan","33"); Client client = ClientBuilder.newClient(); WebTarget target = client.target(serverUri + "/users"); Response response = target.request().buildPut( Entity.entity(user, MediaType.APPLICATION_XML)).invoke(); response.close(); } /** * 根據id查詢用戶 */ private static void getUserById() { System.out.println("****根據id查詢用戶****"); Client client = ClientBuilder.newClient().register(JacksonJsonProvider.class);// 注冊json 支持 WebTarget target = client.target(serverUri + "/users/006"); Response response = target.request().get(); User user = response.readEntity(User.class); System.out.println(user.getUserId() + user.getUserName() + user.getAge()); response.close(); } /** * 查詢所有用戶 */ private static void getAllUsers() { System.out.println("****查詢所有getAllUsers****"); Client client = ClientBuilder.newClient(); WebTarget target = client.target(serverUri + "/users"); Response response = target.request().get(); String value = response.readEntity(String.class); ? ? System.out.println(value); ? ? ? ? ?response.close(); ?//關閉連接 } } ~~~ ## 四、運行 啟動服務端項目,運行客戶端程序UserClient,控制臺輸出如下 ~~~ ****增加用戶addUser**** ****查詢所有getAllUsers**** [{"userId":"006","userName":"Susan","age":"21"}] ****修改用戶updateUser**** ****根據id查詢用戶**** 006Susan33 ****查詢所有getAllUsers**** [{"userId":"006","userName":"Susan","age":"33"}] ****刪除用戶**** ****查詢所有getAllUsers**** [] ~~~ ## 五、總結 1.客戶端如果需要進行JSON轉換,需要進行JSON注冊 ~~~ Client client = ClientBuilder.newClient().register(JacksonJsonProvider.class); ~~~ 2.WebTarget 指明了要請求的資源的地址 3.target.request(). 后面跟的是請求的方法:POST,GET,PUT或DELETE
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看