zoukankan      html  css  js  c++  java
  • 它可以作为一个代理server或者转发java类

    在项目中使用,这简化和通用汽车。突出的基本思路,细节可以基于此类改变。

    基于java容器和servlet。

    package com.xxx.first;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.commons.compress.utils.IOUtils;
    
    public class SimpleProxy {
    
        /**
         * 使用GET提交到目标server。
         * 
         * @param request
         * @param response
         * @param targetUrl
         * @throws IOException
         */
        private void get(HttpServletRequest request, HttpServletResponse response,
    	    String targetUrl) throws IOException {
    
    	URL url = new URL(targetUrl);
    	
    
    	BufferedReader in = new BufferedReader(new InputStreamReader(
    		url.openStream()));
    
    	String line;
    	PrintWriter out = response.getWriter();
    	while ((line = in.readLine()) != null) {
    	    out.println(line);
    	}
    	out.flush();
    	in.close();
        }
    
        /**
         * 使用POST提交到目标server。
         * 
         * @param request
         * @param response
         * @param targetUrl
         * @throws IOException
         */
        private void post(HttpServletRequest request, HttpServletResponse response,
    	    String targetUrl) throws IOException {
    	URL url = new URL(targetUrl);
    	HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    
    	// 发送POST请求必须设置例如以下两行
    	conn.setDoOutput(true);
    	conn.setDoInput(true);
    	conn.setRequestMethod("POST");
    	// 能够拷贝client的head信息作为请求的head參数
    	// conn.setRequestProperty("Charsert", "UTF-8");
    	conn.setRequestProperty("Content-Type", "application/json");
    
    	// 直接把client的BODY传给目标server
    	OutputStream send = conn.getOutputStream();
    	InputStream body = request.getInputStream();
    	IOUtils.copy(body, send);
    	send.flush();
    	send.close();
    	body.close();
    
    	// 获取返回值
    	BufferedReader in = new BufferedReader(new InputStreamReader(
    		conn.getInputStream()));
    	PrintWriter out = response.getWriter();
    	String line;
    	while ((line = in.readLine()) != null) {
    	    out.println(line);
    	}
    	out.flush();
        }
    
    }
    


  • 相关阅读:
    文件操作函数
    sublime text2 常用快捷键
    过滤掉字段为空的数据
    PHP安装memcache扩展接口步骤
    大数据的逻辑,其实是中医的逻辑
    大数据的逻辑,其实是中医的逻辑
    SPSS输出结果如何在word中设置小数点前面显示加0
    SPSS输出结果如何在word中设置小数点前面显示加0
    掌握4个有效的数据分析要点,切实解决用户痛点
    掌握4个有效的数据分析要点,切实解决用户痛点
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5019561.html
Copyright © 2011-2022 走看看