HttpURLConnection訪問Servlet

UrlConnetion.javajava

package org.apache.pre.util;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.apache.pre.entity.UserInfo;

public class UrlConnetion {

    public static void go() throws Exception {
        // 設置訪問URL
        URL url = new URL("http://localhost:8080/PRE/login");
        // 封裝Bean信息
        UserInfo userInfo = new UserInfo("libo", "20320323");

        // 得到Http鏈接
        HttpURLConnection htpUrlConn = (HttpURLConnection) url.openConnection();
        // 容許使用 URL 鏈接進行輸入
        htpUrlConn.setDoOutput(true);
        // 容許使用 URL 鏈接進行輸出
        htpUrlConn.setDoInput(true);
        // 設置HttpURLConnection請求頭裏面的屬性
        htpUrlConn.setRequestProperty("Content-Type", "multipart/form-data; boundary=Bounday---");
        htpUrlConn.setRequestProperty("Cache-Control", "no-cache");
        htpUrlConn.setRequestMethod("POST");
        // 創建鏈接
        htpUrlConn.connect();

        // 得到Httpurl輸出流
        OutputStream outStrm = htpUrlConn.getOutputStream();
        // 得到Object輸出流
        ObjectOutputStream objOutStrm = new ObjectOutputStream(outStrm);
        // 寫入內容
        objOutStrm.writeObject(userInfo);
        objOutStrm.flush();
        objOutStrm.close();

        // 得到服務器返回信息
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                htpUrlConn.getInputStream()));

        String line;
        System.out.println("=============================");
        System.out.println("Contents of post request");
        System.out.println("=============================");
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }

        System.out.println("=============================");
        System.out.println("Contents of post request ends");
        System.out.println("=============================");
        reader.close();
        // 切斷URL鏈接
        htpUrlConn.disconnect();
    }

    public static void main(String[] args) throws Exception {
        go();
    }
}

LoginServlet.javaapache

package org.apache.pre.servlet;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.pre.entity.UserInfo;

public class LoginServlet extends HttpServlet {

    /**
	 * 
	 */
    private static final long serialVersionUID = -107558670321083262L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
            IOException {
        // TODO Auto-generated method stub
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // 獲取請求的輸入流
        ObjectInputStream in = new ObjectInputStream(req.getInputStream());

        // 創建相應的輸出流
        ObjectOutputStream out = new ObjectOutputStream(resp.getOutputStream());

        UserInfo userInfo = null;
        try {
            // 讀取請求內容
            userInfo = (UserInfo) in.readObject();
        } catch (ClassNotFoundException e) {
            out.writeObject("error");
            out.close();
            in.close();
        }

        System.out.println(userInfo.getUserName());
        System.out.println(userInfo.getUserNumber());
        out.writeObject("success");

        out.close();
        in.close();

    }

}

UserInfo.java服務器

package org.apache.pre.entity;

import java.io.Serializable;

public class UserInfo implements Serializable {

    /**
	 * 
	 */
    private static final long serialVersionUID = -7216595138720344258L;

    private String userName;
    private String userNumber;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserNumber() {
        return userNumber;
    }

    public void setUserNumber(String userNumber) {
        this.userNumber = userNumber;
    }

    public UserInfo(String userName, String userNumber) {
        super();
        this.userName = userName;
        this.userNumber = userNumber;
    }
}
相關文章
相關標籤/搜索