关于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文件在第一次被访问时仍然会被编译。

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

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

把JSP预编译成class文件进行JSP文件的保护

     在Weblogic中发布Web Application工程时,为了保护JSP文件避免未经授权的访问和窥视,可以用weblogic.jspc把JSP文件precompile成为servlet文...
  • FlashDragon
  • FlashDragon
  • 2005年03月07日 17:29
  • 1359

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
  • 6833

基于weblogic的jsp预编译代码示例

  • 2009年10月23日 14:43
  • 1018B
  • 下载

Tomcat 7 下对 JSP 进行预编译

预编译jsp,直接看maven配置,IDE为idea,注意tomcat的版本,有些版本中有些类是不存在的,那么就把编译的tomcat版本降低 org.codehau...
  • u012294371
  • u012294371
  • 2017年06月07日 10:25
  • 428

Weblogic环境下的JSP预编译图文说明,新鲜出炉,呵呵

Weblogic环境下的JSP预编译 1、引言 JSP的延迟编译特性确实给性能带来了不大不小的影响,第一次访问超慢的那种状况给人的感觉非常不好,于是花了点时间研究了下JSP预编译,下面就说说怎么个预编...
  • abigfrog
  • abigfrog
  • 2008年01月24日 17:02
  • 6012

使用maven对jsp进行预编译

尽管很多servlet容器例如tomcat、jetty等为了提升jsp第一次访问的性能,都提供了jsp的预编译功能:                             来源:http:/...
  • Anlegor
  • Anlegor
  • 2014年04月02日 23:26
  • 2143

Tomcat 中的 JSP: 自动编译

最近遇到一个问题: 环境中的JSP页面在被修改以后没有在浏览器中表现出来, 呈现出的仍然是旧版的样子。 这个事情比较奇怪,但凡有初级web 开发经验的人都了解,在web容器是tomcat的开发环境中修...
  • pushme_pli
  • pushme_pli
  • 2013年11月10日 00:31
  • 11076

关于JSP的预编译

关于JSP的预编译在weblogic中使用jsp预编译功能时需要进行以下设置:1、在weblogic.xml加入以下配置,   precompile  true 2、使用ant教本对web应用的jsp...
  • snoww
  • snoww
  • 2005年04月22日 14:32
  • 1788

tomcat下JSP预编译的ant脚本

                                                                                                    ...
  • wonder4
  • wonder4
  • 2006年12月07日 18:38
  • 1887
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于JSP的预编译
举报原因:
原因补充:

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