Bootstrap

1.使用java.net.URL类访问网络数据

和网络打交道总是难免的,所以很有必要学一下怎么操作和网络交互。

我们通过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