JSPWeaver消灭JSP开发中的“一回生”[转]

之前整一星期忙得不可开交,关于技术已无暇顾及,这个星期总算有朝向正常化的迹象了。回到网络上多紧跟着技术变化的步伐,拣自认为好的东西摘记下来。

原文:http://www.infoq.com/cn/news/2008/02/JSPWeaver10

作者 Charles Humble译者 李剑 发布于 2008年2月25日 上午4时46分

社区 Java
主题 动态语言, 企业架构

ZeroTurnaround的JSPWeaver是一个实时JSP解释器,它旨在消除因为服务器从JSP标记中创建和编译后台servlet而造成的“一回生(译者注:即第一个访问Web应用的JSP页面的人,响应时间会比别人长)”。 

这个产品的配置很简洁。把jspweaver.jar放到你的Web应用的\WEB-INF\lib目录下,在web.xml文件中添加几行基本的配置信息,表明将使用这个解释器来处理*.jsp这样的URL:

<servlet> 
    <servlet-name>weaverServlet</servlet-name>
    <servlet-class>com.zeroturnaround.jspweaver.JspInterpretingServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
    <servlet-mapping> 
    <servlet-name>weaverServlet</servlet-name>
    <url-pattern>*.jsp</url-pattern>
</servlet-mapping>

当应用服务器重启后,JSP页面就会在重启的过程中被解释。

这个解释器目前支持JSP 1.2-2.0。它的1.0版本支持完整的JSP标准,包括通用语法、XML语法和Java scriplets等。 它与容器无关,应该可以和任何JSP容器都能协同工作,不过目前经过测试的容器为:

  • BEA Weblogic 8.1SPX,9.X
  • Jakarta Tomcat 4.X,5.X,6.X
  • JBoss 4.X
  • Jetty 5.X
  • Oracle Application Server 9.X,10.X

下一个版本中计划将会支持JSP2.1,来自ZeroTurnaround的Jevgeni Kabanov告诉InfoQ,他期待下个版本在这个月里就会发布。他还提供给我们一些产品如何工作的更多细节:

它可以很好地解析JSP(无论是XML风格的语法还是标准语法,我们有两个解析器),然后在内存中再现页面,这个结果会被用来渲染实际输出的页面。因为解析非常快,而且没有任何翻译过程,所以这种做法比史上任何编译方式都要快得多。我们同时还用了一个打过补丁的BeanShell版本来解析内嵌的Java scriplets。

ZeroTurnaround提供了免费试用版。许可的价格是每席位49美元。

查看英文原文JSPWeaver removes the first-person penalty from JSP development

但据网友们的回复,这个东西并没有文中所吹虚的那么快,不过我在正式环境上是用不了的。一则是用的 WebSphere Application Server,人家还没涉足;二则是付费的,要稳妥考虑。所以在某些时候用 ANT 来预编译 JSP 也未尝不可。智者见智而已,我也是先做个标记,待到有需求时至少有货。

本文链接 https://yanbin.blog/jspweaver-optimize-jsp/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments