`
Dxx23
  • 浏览: 140959 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ajaxt通过jsp代理页面访问获取数据

阅读更多
$.ajax({
        url: "proxy.jsp?url="+searchUrl,
        type: 'GET',
        dataType: 'JSON',
        jsonpCallback:"res",
        data:{
            format:'json'
        },
        success: function(res)
        {
            var data = res.data;
         },
        error:function(){
            alert("获取数据出现问题,请稍候再试!");
        }
    });


<%@ page language="java" contentType="application/json; charset=UTF-8"
	pageEncoding="UTF-8"%><%@page import="org.apache.log4j.Logger"%><%@page session="false"%><%@page
	import="java.io.InputStream,java.io.OutputStream"%><%@ page import="java.net.HttpURLConnection" %><%@ page import="java.net.URL" %><%@ page import="java.util.Enumeration" %>
<%   Logger log = Logger.getLogger(this.getClass().getName());
    String reqUrl = request.getParameter("url");
    if(reqUrl.indexOf("?")<0){
        reqUrl = reqUrl + "?1=1";
    }
    Enumeration pNames=request.getParameterNames();
    while(pNames.hasMoreElements()){
        String name=(String)pNames.nextElement();
        if(!name.equalsIgnoreCase("url")){
            String value=request.getParameter(name);
            reqUrl += "&"+name +"="+value;
        }
    }
    HttpURLConnection con = null;
    try {
		final int length = 5000;
        reqUrl=reqUrl.replace(" ", "%20");
        URL url = new URL(reqUrl);
        con = (HttpURLConnection) url.openConnection();
		if (request.getContentType() != null)
			con.setRequestProperty("Content-Type",
					request.getContentType());
		con.setRequestMethod(request.getMethod());
		con.setDoOutput(true);
		int clength = request.getContentLength();
		if (clength > 0) {
			con.setDoInput(true);
			InputStream istream = request.getInputStream();
			OutputStream os = con.getOutputStream();
			byte[] bytes = new byte[length];
			int bytesRead = 0;
			while ((bytesRead = istream.read(bytes, 0, length)) > 0) {
				os.write(bytes, 0, bytesRead);
			}
		}
        response.setContentType(con.getContentType());

		out.clear();
		out = pageContext.pushBody();
		OutputStream ostream = response.getOutputStream();
		response.setContentType(con.getContentType());
		InputStream in = con.getInputStream();

		byte[] bytes = new byte[length];
		int bytesRead = 0;
		while ((bytesRead = in.read(bytes, 0, length)) > 0) {
			ostream.write(bytes, 0, bytesRead);
		}
	} catch (Exception e) {
        log.error(reqUrl);
        log.error(e,e);
	}finally{
        if(con!=null){
            con.disconnect();
        }
    }
%>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics