南京网博,Java,java培训,南京java培训,南京IT培训,软件下载,南京IT培训,It培训,Java培训,软件测试,计算机培训,国际认证培训,在线测试,逻辑思维,CISCO,CCNP,CCIE,CCNA,MCSE,MCSD,ORACLE
|
|
|
|
|
|
|
|
|
 
技术专栏

Tomcat性能调整三

...3.加速JSP编译速度

  当第一次访问一个JSP文件时,它会被转换为Java serverlet源码,接着被编译成Java字节码。你可以控制使用哪个编译器,默认情况下,Tomcat使用使用命令行javac进行使用的编译器。也可以使用更快的编译器,但是这里我们将介绍如何优化它们。

  另外一种方法是不要把所有的实现都使用JSP页面,而是使用一些不同的java模板引擎变量。显然这是一个跨越很大的决定,但是事实证明至少这种方法是只得研究的。如果你想了解更多有关在Tomcat可使用的模板语言,你可以参考Jason Hunter和William Crawford合著的《Java Servlet Programming 》一书(O'Reilly公司出版)。

  在Tomcat 4.0中可以使用流行而且免费的Jikes编译器。Jikes编译器的速度要由于Sun的Java编译器。首先要安装Jikes(可访问http://oss.software.ibm.com/pub/jikes 获得更多的信息),接着需要在环境变量中设置JIKESPATH包含系统运行时所需的JAR文件。装好Jikes以后还需要设置让JSP编译servlet使用Jikes,需要修改web.xml文件中jspCompilerPlugin的值:

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>
org.apache.jasper.servlet.JspServlet
</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<init-param>
<param-name>jspCompilerPlugin</param-name>
<param-value>
org.apache.jasper.compiler.JikesJavaCompiler
</param-value>
</init-param>
<init-param>
<!-- <param-name>
org.apache.catalina.jsp_classpath
</param-name> -->
<param-name>classpath</param-name>
<param-value>
/usr/local/jdk1.3.1-linux/jre/lib/rt.jar:
/usr/local/lib/java/servletapi/servlet.ja
r</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>


  在Tomcat 4.1(或更高版本),JSP的编译由包含在Tomcat里面的Ant程序控制器直接执行。这听起来有一点点奇怪,但这正是Ant有意为之的一部分,有一个API文档指导开发者在没有启动一个新的JVM的情况下,使用Ant。这是使用Ant进行Java开发的一大优势。另外,这也意味着你现在能够在Ant中使用任何javac支持的编译方式,这里有一个关于Apache Ant使用手册的javac page列表。使用起来是容易的,因为你只需要在 元素中定义一个名字叫“compiler”,并且在value中有一个支持编译的编译器名字,示例如下:

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>
org.apache.jasper.servlet.JspServlet
</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<init-param>
<param-name>compiler</param-name>
<param-value>jikes</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>



Ant可用的编译器
名称
别名
调用的编译器

classic
javac1.1, javac1.2
Standard JDK 1.1/1.2 compiler

modern
javac1.3, javac1.4
Standard JDK 1.3/1.4 compiler

jikes
   The Jikes compiler

JVC Microsoft
Microsoft command-line compiler from the Microsoft SDK for Java/Visual J++

KJC    The kopi compiler

GCJ    The gcj compiler (included as part of gcc)

SJ Symantec
Symantec's Java compiler

extJavac
   Runs either the modern or classic compiler in a JVM of its own



  由于JSP页面在第一次使用时已经被编译,那么你可能希望在更新新的jsp页面后马上对它进行编译。实际上,这个过程完全可以自动化,因为可以确认的是新的JSP页面在生产服务器和在测试服务器上的运行效果是一样的。

 

 
  联系电话

 
  QQ在线服务
点击这里给我留言 课程咨询:1257293841
点击这里给我发消息 报名咨询:550448128
点击这里给我发消息 费用咨询:1120528517
点击这里给我留言 入学咨询:971019086
点击这里给我留言 试听咨询:1312175817
点击这里给我发消息 认证咨询:1246923522
 
   培训课程
软件测试定制班 2010-09-30 限额8名
Java名企定制班 2010-09-30 限额5名
C++名企定制班 2010-09-17 限额7名
C++名企定制班 2010-08-31 已满
软件测试定制班 2010-08-27 已满
Java名企定制班 2010-08-27 已满

   在线报名
姓名:
性别: 女         
学历:
学校:
专业:
电话:
QQ:
e-mail:

   乘车路线

 

 

友情链接    
1995-2009 ITANY Corporation. All rights reserved.
苏ICP备05021715号
s