日期:2014-05-16  浏览次数:20309 次

JSP资源跨应用(context)共享问题

JSP资源在TOMCAT默认实现中的作用域只能是context级别的,比如:在当前jsp页面中需要include一个jsp页面,可以通过动态应用 <jsp:include/> 和动态引用<%@include%> 这两种方式,但是无论怎样,只能引用当前同一个web应用下面的jsp页面,A应用中不能include B应用中的jsp资源。

?

然而,在实际的业务场景中,比如像淘宝或者口碑这样的大型网站,其中会有N个子网站,例如:口碑有fang.koubei.com store.koubei.com coupon.koubei.com.每一个域名都是一个独立的web应用。对于整个口碑来说,网站整体需要保持风格和布局一致,每个域名下的页面布局都会保持一致,大致会分成header,body,footer三个部分。经过发现header部分的页面内容基本上内容都是一样的。

?

基于这样一个现实,在日常维护过程中会产生一个比较棘手的问题,就是同样一个内容的header块的页面,如果当网站整体要改变的时候需要到n个web应用中同时修改,而且要保持各个web应用中的header页面副本保持一致不能有区别。如果,一个web网站的独立站点少的话,这个工作量还是可以接受的,但是,当网站的独立站点很多的时候这个工作量就会非常大,网站每作一次网站改版就需要到n web应用中去修改类似header.jsp 这样的文件,而且,有时候还会遗漏几个web应用没有改动。

?

1 楼 Sweblish 2011-12-27  
没有谈到解决方案啊!!
2 楼 mozhenghua 2012-01-10  
Sweblish 写道
没有谈到解决方案啊!!

这个解决方案比较大,正在写呢,过两天会放上来的