hi
我这边一个项目,里面有段js需要去访问一个地址取得一个图片,但是这个地址是有权限控制的,我的web服务器有这个权限,但是像我自己的机器就没这个权限
因为js是在本地解析的,导致我打开网页后看不到图片(因为相当于我直接去访问的图片)
我查阅了一些资料后,用jsp做了个代理,代码如下:String x = request.getParameter("x");
String y = request.getParameter("y");
String zoom = request.getParameter("zoom");
URL connect = new URL("http://那个需要鉴权的地址?x=" + x + "&y=" + y
+ "&zoom=" + zoom);
URLConnection connection = connect.openConnection();
connection.setDoOutput(true);
connection.connect();

response.setContentType("image/png");
ImageIO.write(ImageIO.read(connection.getInputStream()), "png", response.getOutputStream());目的就是让这个页面去访问那个地址,把数据以png形式传送回来这样做的确可以用,但是问题是这些图片访问的很频繁(大概每秒几十次),加了这么一个代理后,导致系统变的比以前卡了不少,我也尝试了一些办法,比如在这个jsp里用多线程,但出现了线程中response失效的问题不知哪位同鞋有类似的经验可以告诉我下提高效率的方法,50分敬上

解决方案 »

  1.   

    你的做法很好啊,确实没有好方法,你要获取的图片是动态的吧,如果是同态的话,就没什么好方法了。
    就一个图片的话还用什么多线程啊?你现在的做法是
    把获取图片的请求专门做成一个jsp
    然后需要图片的jsp<img src='图片.jsp'>
    这样的话,图片现实的慢点,其他的东西会优先显示,很慢吗???
      

  2.   

    我这边显示图片不是 <img src='图片.jsp'>这个格式,而是拿js显示的,具体的源码在js库里我也没仔细看
    现在这个办法导致页面打开时间从10秒变成20秒,因为这个jsp访问量比较高,结果比较卡
    谢谢2楼
      

  3.   

    就像这种,真正的代理
    http://proxy.daili.name/
    我不会弄,只是用过。不知道速度会不会更快,也不知道技术上如何实现的。