关于JSP的预编译

原创 2005年04月22日 14:32:00
关于JSP的预编译

在weblogic中使用jsp预编译功能时需要进行以下设置:

1、在weblogic.xml加入以下配置,

 <jsp-param>
  <param-name>precompile</param-name>
  <param-value>true</param-value>
 </jsp-param>

2、使用ant教本对web应用的jsp进行预编译,以下是一个完整的build.xml的例子,本例中,使用ant wljspc,

<project name="cms" default="application" basedir=".">
  
 <property name="source.dir" value="./source"/>
 <property name="src.dir"  value="${source.dir}/src"/>
 <property name="web-inf.dir" value="${source.dir}/WEB-INF"/>
 <property name="classes.dir" value="${web-inf.dir}/classes"/>
 <property name="lib.dir"  value="${web-inf.dir}/lib"/>
 
 <property name="bea.dir"  value="d:/tools/bea"/>
 <property name="jdk.dir"  value="${bea.dir}/jdk142_04"/>
 <property name="host_name"  value="168.2.1.56"/>
 <property name="host_port"  value="80"/>
 <property name="webapp_name"  value="cms"/>
 <property name="target_name"  value="myserver"/>
 <property name="weblogic_pwd"  value="weblogic"/>
 <property name="weblogic_uid"  value="weblogic"/>
 
 <property  name="cvsRoot"   value=":pserver:username@168.2.1.2:/cms"/>
 
     <path id="compile.classpath">
      <fileset dir="${web-inf.dir}/lib">
              <include name="**/*.jar"/>
              <include name="**/*.zip"/>
         </fileset>
         <fileset dir="${bea.dir}/weblogic81/server/lib">
              <include name="**/*.jar"/>
         </fileset>
         <fileset dir="${jdk.dir}/lib">
              <include name="**/*.jar"/>
         </fileset>
    </path>
   
     <target name="checkout" >
      <delete>
       <fileset dir="${source.dir}">
               <include name="**/*.java"/>
               <include name="**/*.jsp"/>
          </fileset>
      </delete>
    <cvs  command=" -q checkout -A  source"
     cvsRoot="${cvsRoot}"
          dest="./"
          passfile=".cvspass"
    />
 </target>

     <target name="compile">
         <delete dir="${classes.dir}"/>
         <mkdir dir="${classes.dir}"/>
         <javac srcdir="${src.dir}"
                 destdir="${classes.dir}/"
                debug="no">
              <classpath refid="compile.classpath"/>
         </javac>
         
         <copy todir="${classes.dir}">
              <fileset dir="${src.dir}/" excludes="**/*.java"/>
         </copy>
     </target>

     <target name="application" depends="compile">
         <delete file="${classes.dir}/ApplicationResources_zh.properties"/>
         <native2ascii  encoding="GBK"
           src="${src.dir}"
           dest="${classes.dir}"
               includes="ApplicationResources_zh.properties"
         />
     </target>
     
     <target name="rename_webapp">
      <delete dir="${webapp_name}"/>
         <mkdir dir="${webapp_name}"/>
      <copy todir="./${webapp_name}" preservelastmodified="true">
       <fileset dir="${source.dir}" excludes="${source.dir}/src/**/*.java"/>
      </copy>
     </target>
     
     <target name="deploy">
  <java classname="weblogic.Deployer" fork="true" maxmemory="384m">
   <arg value="-verbose"/>
   <arg value="-adminurl"/>
   <arg value="http://${host_name}:${host_port}"/>
   <arg value="-name"/>
   <arg value="${webapp_name}"/>
   <!--<arg value="-upload"/>-->
   <arg value="-stage"/>
   <arg value="-source"/>
   <arg value="${webapp_name}"/>
   <arg value="-targets"/>
   <arg value="${target_name}"/>
   <arg value="-password"/>
   <arg value="${weblogic_pwd}"/>
   <arg value="-user"/>
   <arg value="${weblogic_uid}"/>
   <arg value="-activate" />
   <classpath>
    <path refid="compile.classpath"/>
   </classpath>
  </java>
 </target>
 
 <target name="deploy_cvs_version">
  <antcall target="checkout"/>
  <antcall target="application"/>
  <antcall target="rename_webapp"/>
  <antcall target="wljspc"/>
  <antcall target="deploy"/>
 </target>
 
 <target name="wljspc">
         <java classname="weblogic.appc"
              classpathref="compile.classpath"
              >
              <arg line=" ${webapp_name} "/>
         </java>
 </target> 
 <target name="war">
  <jar destfile="${webapp_name}.war.${version}">
         <fileset dir="${webapp_name}"/>
      </jar>
     </target>
</project>

3、使用ant deploy部署的时候不能将选项-upload设置为有效,所以这里作了注释处理,否则,部署后的jsp文件在第一次被访问时仍然会被编译。

相关文章推荐

Tomcat JSP预编译(JSP Jar包实现)

1.         编写构建配置文件build.propertiestomcat.home=D:/Tomcat/apache-tomcat-7.0.14java.home=D:/ProgramFil...
  • xiexl
  • xiexl
  • 2011年05月17日 23:55
  • 6630

开启Jasper的JSP预编译支持

不少Java Web容器(如Tomcat, Jetty等等)都采用Apache Jasper作为其JSP容器,用它来对JSP文件进行编译,调用由JSP编译成的Servlet等。在这类Web容器中,只要...

Tomcat中JSP预编译处理Jasper 2 JSP Engine JSPTomcatWebAntApache

参考: The Apache Jakarta Tomcat 5.5 Servlet/JSP Container Jasper 2 JSP Engine How To http://jaka...

libssl Android预编译库

  • 2016年09月06日 20:55
  • 2.21MB
  • 下载

关于预编译头文件

  • 2012年03月17日 22:43
  • 29KB
  • 下载

实战jsp预编译,充分享受jsp预编译的好处!

jsp预编译有以下好处: 1.省去第一次运行jsp时的编译所花费的时间,实现servlet一样,一步到位的运行。 2.有效的保护源代码,在产品发布的时候只需要提供依据编译好的class文件,不需要...

宏和预编译(书中截图笔记)

  • 2012年08月22日 21:39
  • 37.87MB
  • 下载

GCC中使用预编译头文件

既使用过 Microsoft? Visual C++? 又使用过 GNU CC 的网友一定会感受到两者编译速度的差异,尤其是对于 ...
  • wind19
  • wind19
  • 2011年04月19日 10:46
  • 7881
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于JSP的预编译
举报原因:
原因补充:

(最多只允许输入30个字)