关于sitemesh,不过多介绍,不知道的请google之,简单来说就是做总体页面布局和渲染用的,如页面中的header,footer等。
今天内部讨论中,有工程师谈到使用sitemesh的建议。我之前做的一个网站也是使用sitemesh,在开发效率上还算不错,可以让大家更专注于各自的模块页面。当时sitemesh性能上并没有问题。当时的性能瓶颈主要出现在过多hibernate关联数据查询上,后来缓存解决之。
另外也有同事提出反对意见:使用sitemesh对于系统性能是有较大的影响的,主要表现在GC的次数会显著增多。
建议在大压力、页面内容大的系统中,慎重选择sitemesh,并且使用之前对其带来的性能影响进行一个较为合理、全面的评估。
我们当前的项目情况:开发进行到一半,正进入套美工界面阶段,所以出现以上问题场景和选择。有同事说:架构师配置之。我以前也有使用过sitemesh,引入到当前项目也是可行的。但需要一个评估和两天左右的引入工作量。还好有另外的同事反对,正好找到借口暂时不使用。我倒不是怕一两天的工作量,我是觉得在开发进行中,
每引入一个新的技术或者团队不熟悉的东西,都会增加项目失败的风险,特别是前期没有很好的规划时。所以暂时只用include解决之。一来大家都熟悉,使用也简便,二来从性能上也如同事说的那样。
当然,
性能也并没有同事说的那么可怕。
一来,对于页面内容大的问题,因为sitemesh是以空间换时间,web服务器加点内存就完事,现在内存超级便宜。
二来,web应用的瓶颈不在乎那点绝对性能。对于并发压力大,一个tomcat也就能支持几百并发,瓶颈在tomcat这块,页面再快也没用。解决方案一般是负载均衡和应用集群。
大家可以聊聊在web应用中,使用sitemesh的经验。当然也可以谈谈其它的方案。但是不做为其次选择的参考,因为
技术风险摆在第一位,不会轻易在项目过程中引用新技术。
最后附上网友做的sitemesh性能测试评价:
http://www.iteye.com/topic/715100
分享到:
相关推荐
### SiteMesh教程及SiteMesh官方文档翻译 #### 使用SiteMesh简化网页布局 SiteMesh是一款用于Web应用程序中的页面布局和装饰的框架。它采用Decorator模式,通过过滤器(filter)拦截请求和响应,将不同的页面组件...
### Sitemesh 3 的使用及配置 #### 一、Sitemesh 3 简介 Sitemesh 是一个非常实用的Web页面布局与修饰框架,它通过Servlet中的Filter来实现网页的装饰功能,类似于ASP.NET中的“母版页”技术。这种技术允许开发者...
如果需要对某些特定页面不应用装饰,或者只对特定部分进行装饰,可以使用 `excludes` 和 `includes` 属性在 `web.xml` 中配置 SiteMesh 过滤器。 9. **优化与性能** SiteMesh 通常对性能的影响很小,但可以通过...
3. **创建装饰模板**:Sitemesh 使用一个名为 `decorators` 的目录来存储装饰模板。这些模板定义了页面的通用结构,如头部、底部和侧边栏。例如,你可以创建一个 `default.jsp` 文件,其中包含你的页面布局。 4. **...
2. **选择装饰器**:根据请求的URL或者在代码中明确指定,Sitemesh会选择一个合适的装饰器(Decorator)模板。 3. **内容分离**:装饰器模板通常包含固定的部分,如页头、页脚、侧边栏等,而用户请求的实际内容被...
接下来是"siteMesh使用文档"。这份文档通常会涵盖以下几个关键知识点: 1. **安装SiteMesh**:这通常包括下载SiteMesh的库文件,将其添加到你的项目构建路径中(例如,如果你使用Maven,可以在pom.xml中添加对应的...
### Sitemesh使用示例 在提供的压缩包文件中,有多个HTML和JSP文件,它们可能是Sitemesh的使用示例: - **index.html**:通常作为网站的主页,可能展示了Sitemesh如何应用全局布局。 - **badsource.html**、**...
3. **Sitemesh使用步骤** - **安装与导入**:下载Sitemesh库并将其加入到项目依赖中。 - **配置web.xml**:设置Sitemesh Filter,包括装饰器的配置和默认装饰器的选择。 - **创建装饰器模板**:设计HTML模板,...
**Sitemesh** 是一个广泛使用的开源Web应用框架,它主要功能是提供页面布局和装饰功能,用于统一网站的外观和感觉。Sitemesh通过在Web应用中引入“母版”(Master Page)的概念,使得开发者可以轻松地创建一致性的...
Sitemesh3是Sitemesh项目的第三个主要版本,提供了更现代的API和性能改进。 在Sitemesh3的官方下载包中,通常会包含以下几个关键部分: 1. **lib** 目录:这个目录包含了Sitemesh3运行所需的库文件。这些jar文件...
sitemesh 使用例子。 <?xml version="1.0" encoding="utf-8"?> <decorators defaultdir="/decorators"> <!-- 此处用来定义不需要过滤的页面 --> <excludes> </excludes> <!-- 用来定义装饰器要过滤的...
通过使用SiteMesh标签库中的标签,可以在装饰器中插入实际页面的内容,实现动态的页面装饰。 ***Mesh的基本组件: - Decorator Filter:这是SiteMesh的核心组件,负责拦截请求、传递页面内容给装饰器,并将组合后的...
要开始使用Sitemesh,你需要在你的项目中引入Sitemesh的依赖。如果你的项目是基于Maven的,可以在pom.xml文件中添加对应的依赖项。对于其他构建工具,可以找到相应的库文件并将其添加到类路径中。 接下来,配置...
- **javacpp-1.3.2.jar**:这可能是JavaCPP库的一个版本,它提供了一个接口,可以直接在Java中调用C++代码,可能会用于Sitemesh的一些底层性能优化或者特定功能实现。 **应用实例**: Sitemesh常被用于大型企业级...
3. **创建装饰模板**:Sitemesh使用HTML文件作为装饰模板,你可以根据需求创建一个基础模板,例如`layout.html`,该模板通常包含页头、页脚、侧边栏等公共部分。 4. **设置页面内容**:对于每个需要装饰的页面,...
公司的OA流項目視圖層都是採用sitemesh技術,感覺還可以,裝潢頁面,技術不是很複雜,頁面結構清晰,佈局明朗,很好的佈局框架。
Sitemesh3是Sitemesh的第三个主要版本,相比之前的版本,它提供了更好的性能和更现代的API。在配置和使用Sitemesh3时,开发者需要了解以下几个核心概念: 1. **装饰器(Decorator)**: 装饰器是Sitemesh的核心,它...
以下是关于Sitemesh的详细讲解: 1. **安装与配置** - 首先,你需要将Sitemesh的JAR文件添加到你的项目类路径中。这可以通过Maven或Gradle的依赖管理来实现。 - 接着,在Web应用的`web.xml`配置文件中,需要配置...
4. **配置(Configuration)**: SiteMesh的配置文件(通常为`sitemesh.xml`)用于设置装饰策略,包括哪些URL需要被装饰,以及使用哪个装饰器等。 **使用步骤** 1. **集成SiteMesh**: 将SiteMesh的JAR文件添加到...
总结来说,"sitemesh jar包机tld文件"是SiteMesh框架在JSP页面布局中的关键组件,通过引入sitemesh-2.4.1.jar,并使用sitemesh-page.tld和sitemesh-decorator.tld定义的标签,开发者可以轻松创建和管理具有统一外观...