在jsp中包含div内的外部网站

在jsp中包含div内的外部网站,jsp,Jsp,我想在jsp页面的div中包含一个外部网站(例如www.example.com)。我不想使用框架,因为这是不可取的 我尝试在网上搜索解决方案,但我找到的都是一个内部网页(例如webpage.jsp) 我非常感谢您的帮助。如果您只想在div标记中包含外部页面,请举几个例子: 处理外部网站内的链接 cookie管理 资源管理(图像、css、javascript) 有不同的选项来处理这样的需求: iFrame;这不好,但为什么不可取呢 服务器端反向代理;可能会变得复杂,因为您必须过滤外部链接(请参见#

我想在jsp页面的div中包含一个外部网站(例如www.example.com)。我不想使用框架,因为这是不可取的

我尝试在网上搜索解决方案,但我找到的都是一个内部网页(例如webpage.jsp)


我非常感谢您的帮助。

如果您只想在
div
标记中包含外部页面,请举几个例子:

  • 处理外部网站内的链接
  • cookie管理
  • 资源管理(图像、css、javascript)
  • 有不同的选项来处理这样的需求:

  • iFrame;这不好,但为什么不可取呢
  • 服务器端反向代理;可能会变得复杂,因为您必须过滤外部链接(请参见#3)
  • 简单框架(有些过时)
  • 外部系统提供的定义良好的接口(例如,一些RESTful的东西)

  • 总结:仅在
    div
    中提供外部页面并不容易。

    首先,如果涉及分割/包括本地内容(这是/是最常见的框架滥用),则使用框架确实是不可取的。但如果它涉及外部内容,则绝对可取。对于本地内容,您应该使用服务器端包含,例如

    至于具体问题,如果外部网站的HTML响应与您自己的JSP页面的HTML响应没有冲突(也就是说,它不会返回一个完整的
    文档,因为重复/嵌套的
    元素会使您的最终HTML响应完全生效,但它会返回一些与上下文无关的HTML片段,例如
    blah
    ),然后您可以使用它

    <c:import url="http://external.com/some/fragment.html" />
    
    
    
    但是,如果它返回一个完整的
    文档和/或依赖于上下文,那么您确实必须使用
    或在两者之间引入代理servlet。有关此类servlet的具体启动示例,请检查以下答案: