sitemesh技术的应用

一,基本概念
1,Sitemesh是一种页面装饰技术 :
  1    :它通过过滤器(filter)来拦截页面访问
  2    :根据被访问页面的URL找到合适的装饰模板
  3    :提取被访问页面的内容,放到装饰模板中合适的位置
  4    :最终将装饰后的页面发送给客户端。
2,在sitemesh中,页面分为两种:装饰模板和普通页面。
1)装饰模板,是指用于修饰其它页面的页面。
2)普通页面,一般指各种应用页面。
3,接下来,我们通过一个简单的例子来说明一下sitemesh修饰网页的基本原理。
 
3:

一个SiteMesh修饰器其实就是一个使用SiteMesh自定义标签的JSP页面。
在我们的web应用里,当用户请求help页面的时候,SiteMesh会拦截这个请求,
然后再把它发送给web应用。而当应用返回响应的时候,
SiteMesh会结合headerfooter.jsp文件解析这个响应,
遇到<decorator:head/>就插入响应文件的<head>,
遇到<decorator:body/>就插入响应文件的<body>。
最后,被headerfooter.jsp修饰过的文件会被返回给客户端。


SiteMesh架构

SiteMesh架构基于PageFilter——一个Servlet过滤器。
容器接收到页面请求时,会把请求传递给PageFilter,
PageFilter收集应用程序的响应细节,生成自定义的响应对象,
然后连同请求一起传递给web应用程序。web应用程序把响应资源写入到自定义响应对象里,
再返回给PageFilter。

你可能感兴趣的:(sitemesh技术的应用)