1.服务端使用的是web容器(tomcat),提供一个servlet,配置到web.xml中,这样服务端就有了一个服务类了。配置如下:
2.客户端代码如下:
<servlet>
<display-name>ApplicationServiceServlet</display-name>
<servlet-name>ApplicationServiceServlet</servlet-name>
<servlet-class>com.lsz.servlet.ApplicationServiceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ApplicationServiceServlet</servlet-name>
<url-pattern>/ApplicationServiceServlet</url-pattern>
</servlet-mapping>
2.客户端代码如下:
public static void main(String[] args) {
try{
URL url = new URL("http://localhost:8080/serverend/ApplicationServiceServlet");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.connect();
// 设置请求参数
DataOutputStream doutput = new DataOutputStream(conn.getOutputStream());
String requestParameter = "action=get_current_data";
doutput.writeBytes(requestParameter);
doutput.flush();
doutput.close();
int code = conn.getResponseCode();
if(code == HttpURLConnection.HTTP_OK){
System.out.println(readMessage(conn.getInputStream()));
}
else{
System.out.println("Request failed,check the URL ["+conn.getURL()+"] please!");
}
conn.disconnect();
}
catch(Exception ex){
ex.printStackTrace();
}
}
public static String readMessage(InputStream input)throws Exception{
ByteArrayOutputStream output = new ByteArrayOutputStream(4*1024);
byte[] bit = new byte[1024];
int count = 0;
while((count = input.read(bit))>0){
output.write(bit, 0, count);
}
input.close();
return new String(output.toByteArray());
}