基于原生HttpURLConnection实现Post请求

客户端

public class Client {

	public static void main(String[] args) throws Exception {
		
		URL url = new URL("http://localhost:8080/wether/hello");
		URLConnection uc = url.openConnection();
		HttpURLConnection huc = (HttpURLConnection) uc;
		huc.setRequestMethod("POST");
		huc.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
		huc.setRequestProperty("Connection", "Keep-Alive");
		huc.setRequestProperty("Charset","UTF-8");
		huc.setDoOutput(true);
		huc.setDoInput(true);
		OutputStream os = uc.getOutputStream();
		String test = "name=" + URLEncoder.encode("用友", "UTF-8");
		os.write(test.getBytes());
		int httpResponseCode = huc.getResponseCode();
		if(httpResponseCode == HttpURLConnection.HTTP_OK) {
			BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream()));
			String line = null;
			while((line = br.readLine()) != null) {
				System.out.println(line);
			}
		}
	}
}

服务端

public class WetherServlet extends HttpServlet{

	private static final long serialVersionUID = -5974298420095106436L;

	public void service(HttpServletRequest request,HttpServletResponse response) throws IOException {
		PrintWriter pw = response.getWriter();
		pw.write("hello");
		request.setCharacterEncoding("UTF-8");
		String name = request.getParameter("name");
		name = URLDecoder.decode(name, "UTF-8");
		System.out.println(name);
	}

	
}

中间件使用tomcat

你可能感兴趣的:(基于原生HttpURLConnection实现Post请求)