1 packagesuperman.jackson.qianzhilan;2
3 importjava.io.IOException;4 importjava.net.HttpURLConnection;5 importjava.net.URI;6
7 importorg.apache.http.HttpResponse;8 importorg.apache.http.client.ClientProtocolException;9 importorg.apache.http.client.HttpClient;10 importorg.apache.http.client.methods.HttpDelete;11 importorg.apache.http.client.methods.HttpGet;12
13 importorg.apache.http.client.methods.HttpPost;14 importorg.apache.http.client.methods.HttpPut;15 importorg.apache.http.client.utils.URIBuilder;16 importorg.apache.http.entity.StringEntity;17 importorg.apache.http.impl.client.HttpClients;18 importorg.apache.http.util.EntityUtils;19
20 importorg.json.JSONStringer;21
22
23 importcom.fasterxml.jackson.databind.ObjectMapper;24
25 importentity.jackson.qianzhilan.Student;26
27 public classWebClient {28
29 publicWebClient() {30
31 }32
33 /**
34 *@paramurl35 *@paramStudent36 *@paramcontentType37 *@returnjson string38 */
39 publicString doInsert(String url, Student stu, String contentType) {40
41 String strResp = "";42 HttpPut request = newHttpPut(url);43 request.setHeader("Accept", contentType);44 request.setHeader("Content-type", contentType);45
46 /*method one:user org.json jar to generate the data of json format*/
47 JSONStringer jStr;48 /*method one:user jackson jars to generate the data of json format*/
49 String jsonStr;50 ObjectMapper mapper=newObjectMapper();51 try{52
53 /*method one:user org.json jar to generate the data of json format*/
54 //jStr = (JSONStringer)(new JSONStringer()55 //.object().key("stu")56 //.object()57 //.key("s_id").value(stu.getS_id())58 //.key("sname").value(stu.getSname())59 //.key("sex").value(stu.getSex())60 //.key("id_card_no").value(stu.getId_card_no())61 //.key("education").value(stu.getEducation())62 //.key("work_place").value(stu.getWork_place())63 //.key("salary").value(stu.getSalary())64 //.key("birthplace").value(stu.getBirthplace())65 //.key("pwd").value(stu.getPwd())66 //.key("e_mail").value(stu.getE_mail())67 //.endObject()68 //.endObject());
69
70 jsonStr=mapper.writeValueAsString(stu);71 StringEntity entity = newStringEntity(jsonStr);72 request.setEntity(entity);73 System.out.printf("send the content:"+jsonStr+"\n");74 //create the httpclient
75 HttpClient httpClient =HttpClients.createDefault();76
77 //httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,30000);
78 HttpResponse response =httpClient.execute(request);79 //judge the response status
80 if (response.getStatusLine().getStatusCode() ==HttpURLConnection.HTTP_OK)81 {82 String tmpString;83 tmpString =EntityUtils.toString(response.getEntity());84 System.out.println("the result:"+tmpString );85 }86
87 System.out.printf("server reply: "
88 +response.getEntity().getContent()+
89 response.getFirstHeader("Content-type")+
90 response.getStatusLine().toString()+"\n");91 } catch(Exception e) {92 //TODO Auto-generated catch block
93 e.printStackTrace();94 }95
96 //Reload plate numbers
97
98 returnstrResp;99
100 }101 public String doSelect(String host,String servUri,int s_id) throwsException {102
103 String strResp=null;104 //JSONObject json = new JSONObject();105 //json.put("s_id", s_id);
106 URI uri = newURIBuilder()107 .setScheme("http")108 .setHost(host)109 .setPath(servUri)110 .setParameter("s_id", String.valueOf(s_id))111 .build();112 HttpGet httpGet = newHttpGet(uri);113 //StringEntity entity = new StringEntity(json.toString(),"UTF-8");114 //entity.setContentType(contentType);115
116 //httpGet.setEntity(entity);
117 HttpClient client2 =HttpClients.createDefault();118 HttpResponse resp;119 try{120 resp =client2.execute(httpGet);121
122 if (resp.getStatusLine().getStatusCode() ==HttpURLConnection.HTTP_OK)123 {124 strResp =EntityUtils.toString(resp.getEntity());125 System.out.println("the select result:"+strResp);126
127 } else System.out.println("Error select Response:"
128 +resp.getStatusLine().toString());129 } catch(ClientProtocolException e) {130 //TODO Auto-generated catch block
131 e.printStackTrace();132 } catch(IOException e) {133 //TODO Auto-generated catch block
134 e.printStackTrace();135 }136
137 returnstrResp;138 }139 publicString doUpdate(String url,Student stu,String contentType)140 {141
142 String tmpString=null;143 HttpPost request=newHttpPost(url);144 request.setHeader("Accept", contentType);145 request.setHeader("Content-type", contentType);146
147 ObjectMapper mapper=newObjectMapper();148 String jsonString;149
150 try{151 jsonString=mapper.writeValueAsString(stu);152 StringEntity entity=new StringEntity(jsonString,"UTF-8");153 request.setEntity(entity);154
155 HttpClient client=HttpClients.createDefault();156 HttpResponse response=client.execute(request);157 //judge the response status
158 if (response.getStatusLine().getStatusCode() ==HttpURLConnection.HTTP_OK)159 {160 tmpString=EntityUtils.toString(response.getEntity());161 System.out.println("the update result:"+tmpString);162 } else System.out.println("the update failure");163 } catch(ClientProtocolException e) {164 //TODO Auto-generated catch block
165 e.printStackTrace();166 } catch(IOException e) {167 //TODO Auto-generated catch block
168 e.printStackTrace();169 }170 returntmpString;171 }172
173 public String doDelete(String host,String servUri,int s_id) throwsException {174 //JSONStringer jStr;175 //jStr = (JSONStringer)(new JSONStringer()176 //.object().key("s_id").value(90012)177 //.endObject());
178 String tmpString=null;179 //HttpPost request=new HttpPost(url);180 //request.setHeader("Accept", contentType);181 //request.setHeader("Content-type", contentType);
182 HttpDelete delete=newHttpDelete();183 //184 try{185
186 //System.out.println(jStr.toString());187 //StringEntity entity=new StringEntity(jStr.toString());188 //entity.setContentType(contentType);189 //request.setEntity(entity);190 ///* method of delete */
191 URI uri = newURIBuilder()192 .setScheme("http")193 .setHost(host)194 .setPath(servUri)195 .setParameter("s_id",s_id)196 .build();197 delete.setURI(uri);198 HttpClient client=HttpClients.createDefault();199 HttpResponse response=client.execute(delete);200 //judge the response status
201 if (response.getStatusLine().getStatusCode() ==HttpURLConnection.HTTP_OK)202 {203 tmpString=EntityUtils.toString(response.getEntity());204 System.out.println("the delete result:" +tmpString);205 } else System.out.println("the delete failure"+response.getStatusLine().toString());206 } catch(ClientProtocolException e) {207 //TODO Auto-generated catch block
208 e.printStackTrace();209 } catch(IOException e) {210 //TODO Auto-generated catch block
211 e.printStackTrace();212 }213 returntmpString;214 }215
216 }