和网络打交道总是难免的,所以很有必要学一下怎么操作和网络交互。
我们通过URL类或者HttpClient类,都可以对网络访问,至于这两个类的区别,HttpClient类底层还是使用了Url类,对其封装了一下。
第一步:建立一个服务器端,其中get方法返回"you had receied the message from http://192.168.1.132:8088/WebServer/student.do”;post方法返回输入的name。
package org.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class StudentAction extends HttpServlet {
private static final long serialVersionUID = 1L;
public StudentAction() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.write("you had receied the message from http://192.168.1.132:8088/WebServer/student.do");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
PrintWriter out = response.getWriter();
out.write(name);
}
}
第二步:新建android projiect,新建一个java类,这里首先使用URL类,代码如下:
其中添加一个get方法:
package org.example.httpclient;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class MHttpClient {
public void get() throws Exception {
// 实例化一个URL对象
URL url = new URL("http://192.168.1.132:8088/WebServer/student.do");
// 打开连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 设置访问超时时间
conn.setConnectTimeout(5 * 1000);
// 设置请求参数
conn.setRequestMethod("GET");
// 得到输入流
InputStream in = conn.getInputStream();
// 从输入流中读取内容放到内存中
ByteArrayOutputStream out = new ByteArrayOutpu