ZeroTurnaround 的 JSPWeaver 是一个实时 JSP 解释器,它旨在消除因为服务器从 JSP 标记中创建和编译后台 servlet 而造成的“一回生(译者注:即第一个访问 Web 应用的 JSP 页面的人,响应时间会比别人长)”。
这个产品的配置很简洁。把 jspweaver.jar 放到你的 Web 应用的\WEB-INF\lib 目录下,在 web.xml 文件中添加几行基本的配置信息,表明将使用这个解释器来处理 *.jsp 这样的 URL:
weaverServlet com.zeroturnaround.jspweaver.JspInterpretingServlet 1 weaverServlet \*.jsp
当应用服务器重启后,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
评论