工程A发布在外网的服务器甲(有独立IP)上,同时服务器甲又是在某一个局域网中,工程A的某个JSP页面有个iframe用来引用同一个局域网的服务器乙上的工程B的一个输出jsp页面(包含一个flash),问题是外网用户只能看到工程A的jsp页面内容,而iframe中的内容无法获得,即不法访问内网。求助,这种情况怎么处理?
出于某种原因,不能将路由端口映射给服务器乙
不知各位还有何招?我想到的是,工程A建个servlet,用它的response的outputStream来做,但是真要写时却不知改如何下手了。。望各位大哥不吝赐教~!感激不尽~!

解决方案 »

  1.   

    你这样做是不安全的!
    工程B提供一个借口,想获得内容通过XML交互比较好...
    这也是当前项目与项目之间的交互比较安全的模式!
      

  2.   

    引用乙服务器的JSP时 路径改成局域网IP地址 +路径填写成 是不是外网看不见这个JSP?
    以前也遇到过,待高手解决
      

  3.   


    这种办法应该是可以直接访问的。
    如果LZ不想让IP外泄,也可以在服务器甲上配置主机信息,比如
    主机乙.xxx.xxx  主机乙的IP
    然后利用该主机名称去访问主机乙。LZ可能需要了解一些DNS方面的东西,或者找系统管理员解决。
      

  4.   

    今天在网上看到的一个servlet代理实现思路,LZ可以借鉴一下// 其中HttpClient需要用到org.apache.commons.httpclient的包
    // commons-httpclient-xxx.jar
    // 从域A访问域B
    Public class Proxy extends ... .... ( 
    .. DoGet (... ... ..) ( 
    HttpClient client = ... ...; 
    GetMethod get = new GetMethod ("www.baidu.com /xxxxx.do"); 
    // 访问域B的链接
    int statusCode = client.executeMethod (get); 
    if (statusCode! = HttpStatus.SC_OK) ( 
    byte [] responseBody = get.getResponseBody (); 
    String res = new String (responseBody); 
    Httpresponse.getWriter (). Write (res); 
    // the data returned to the field A 


    )
      

  5.   

    工程B的一个输出jsp页面
    他以文件形式存在?不能直接拷贝到甲上么?