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;
    }
}
相关文章
相关标签/搜索