Liny_@NotePad

沉迷ACG中

Tomcat JSP编译器的配置参数。。

YOYO posted @ 2009年11月12日 05:26 in 【工具/OS】 with tags tomcat , 4361 阅读

今天看到某娃写装JBOSS的步骤,提到要用JDK。才想起似乎的确是要将jsp编译。
那么我有次装tomcat的时候只装了JRE,为什么也能正常执行jsp?莫非tomcat内置了一个编译器?

查了下果然如此。Tomcat内置了Jasper,它可以编译JSP。但是它的版本应该是固定的,不知道默认用的是哪个版本编译?

百度了些资料,原来可以在conf/web.xml中进行配置。

在该文件名为jsp的servlet中可以加入一些init参数,下面贴个中文配置说明:

· checkInterval - 如果“development”属性为false且“checkInterval”大于0,则使用后台编译。“checkInterval”是查看JSP页面(包括其附属文件)是否需要重新编译的两次检查时间间隔(单位:秒)。缺省值为0秒。
· classdebuginfo - 类文件在编译时是否显示调试(debugging)信息? true 或false,缺省为true。
· classpath - 编译servlet时要使用的类路径,当ServletContext 属性org.apache.jasper.Constants.SERVLET_CLASSPATH未设置的情况下,该参数才有效。在Tomcat中使用到Jasper时,该属性总被设置。缺省情况下,该路径基于你当前的web应用动态生成。
· compiler – Ant将要使用的JSP页面编译器,请查阅Ant文档获取更多信息。如果该参数未设置,那么默认的Eclipse JDT Java编译器将被用来代替Ant。没有缺省值。
· compilerSourceVM - 编译源文件时采用哪一个JDK版本?(缺省为 JDK 1.4)
· compilerTargetVM - 运行类文件时采用哪一个JDK版本?(缺省为 JDK 1.4)
· development - 是否让Jasper用于开发模式?如果是,检查JSPs修改的频率,将通过设置modificationTestInterval 参数来完成。true 或false,缺省为true。
· displaySourceFragment - 异常信息中是否包含出错的源代码片段?true 或false,缺省为true。
· dumpSmap - JSR45调试的SMAP信息是否转存到文件?true 或false,缺省为false。当suppressSmap 为true时,该参数为false。
· enablePooling - 确定是否共享标签处理器,true或false,缺省为true。
· engineOptionsClass - 允许指定的类来配置Jasper。如果没有指定,则使用默认的Servlet内置参数(EmbeddedServletOptions)。
· errorOnUseBeanInvalidClassAttribute - 在一个useBean action中,当类属性的值不是一个合法的bean class时,Jasper是否抛出异常?true或false,缺省为true。
· fork - 是否让Ant派生出JSP页面多个编译,它们将运行在一个独立于Tomcat的JVM上。true 或者false, 缺省为true.
· enStringAsCharArray - 是否把字符串转换为字符数组?在某些情况下会改善性能。缺省为false.
· eClassId - 当使用<jsp:plugin>标签时,发送给Internet Explorer的class-id的值。缺省为:8AD9C840-044E-11D1-B3E9-00805F499D93。
· javaEncoding - 生成java源文件时采用的Java文件编码。缺省为UTF-8。
· keepgenerated - 是否保存每个页面生成的java源代码,而不删除。true 或 false,缺省为true。
· mappedfile - 是否对每个输入行都用一条print语句来生成静态内容,以方便调试。true 或 false,缺省为true。
· modificationTestInterval - 检查JSP页面修改的间隔时间(单位:秒),在间隔时间内,JSP及其包含的页面将不会检查。当间隔时间为0时,JSP每一次访问都会被检查。仅仅适用于开发模式(参数development为true)。缺省为4秒。
· scratchdir - 当编译JSP页面时使用的scratch 目录。缺省为当前WEB应用的工作目录。
· suppressSmap - 是否禁止JSR45调试时生成SMAP信息?true 或 false,缺省为false。
· trimSpaces - 是否去掉模板文本中行为和指令之间的空格。缺省为false。
· xpoweredBy - 确定生成的Servlet是否加上X-Powered-By 响应头?true 或 false,缺省为false。

更多的内容,比如如何使用Jikes,可以在用户手册中读到:http://tomcat.apache.org/tomcat-6.0-doc/jasper-howto.html


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter