专栏首页简单就是美!Tomcat中JSP预编译处理Jasper 2 JSP Engine

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

阅读更多

参考:

The Apache Jakarta Tomcat 5.5 Servlet/JSP Container Jasper 2 JSP Engine How To

http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jasper-howto.html

jspc

http://ant.apache.org/manual/OptionalTasks/jspc.html

用Tomcat进行预编译的ant脚本如下:

build.properties的内容为:

tomcat.home=E:/OpenSource/Tomcat webapp.name=webappname webapp.path=E:/JavaProject/webappname

build.xml的内容为:

<!----><!----><?xml version="1.0" encoding="GBK"?> <project name="WebApp Precompilation JSP to Java to Class to Jar" basedir="." default="help">  <property file="build.properties"/>  <target name="all" depends="jsp2java,java2class,class2jar,clear"/>  <target name="help">   <echo message="显示功能列表"/>   <echo message="jsp2java  通过JspC将JSP转换成Java源代码"/>   <echo message="java2class 将转换后的Java源代码进行编译成class文件"/>   <echo message="class2jar 将编译后的class文件打包"/>   <echo message="clear  清理现场"/>  </target>  <target name="jsp2java">   <taskdef classname="org.apache.jasper.JspC" name="jsp2java">    <classpath id="jsp2java.classpath">     <fileset dir="${tomcat.home}/bin">      <include name="*.jar"/>     </fileset>     <fileset dir="${tomcat.home}/server/lib">      <include name="*.jar"/>     </fileset>     <fileset dir="${tomcat.home}/common/lib">      <include name="*.jar"/>     </fileset>    </classpath>   </taskdef>   <!-- 注意JSP文件要设置为UTF-8编码 -->   <jsp2java classpath="jsp2java.classpath" javaEncoding="UTF-8" validateXml="false" uriroot="${webapp.path}" webXmlFragment="${webapp.path}/WEB-INF/webJSP.xml" outputDir="${webapp.path}/WEB-INF/JspC/src"/>  </target>  <target name="java2class">   <mkdir dir="${webapp.path}/WEB-INF/JspC/classes"/>   <!-- 同样Java文件要设置为UTF-8编码 -->   <javac srcdir="${webapp.path}/WEB-INF/JspC/src" destdir="${webapp.path}/WEB-INF/JspC/classes" encoding="UTF-8" optimize="off" debug="on" failonerror="false" excludes="**/*.smap">    <classpath id="java2class.classpath">     <pathelement location="${webapp.path}/WEB-INF/classes"/>     <fileset dir="${webapp.path}/WEB-INF/lib">      <include name="*.jar"/>     </fileset>     <pathelement location="${tomcat.home}/common/classes"/>     <fileset dir="${tomcat.home}/common/lib">      <include name="*.jar"/>     </fileset>     <pathelement location="${tomcat.home}/shared/classes"/>     <fileset dir="${tomcat.home}/shared/lib">      <include name="*.jar"/>     </fileset>     <fileset dir="${tomcat.home}/bin">      <include name="*.jar"/>     </fileset>    </classpath>    <include name="**"/>    <exclude name="tags/**" />   </javac>  </target>  <target name="class2jar">   <mkdir dir="${webapp.path}/WEB-INF/lib"/>   <jar basedir="${webapp.path}/WEB-INF/JspC/classes" jarfile="${webapp.path}/WEB-INF/lib/${webapp.name}JSP.jar"/>  </target>  <target name="clear">   <delete dir="${webapp.path}/WEB-INF/JspC/classes"/>   <delete dir="${webapp.path}/WEB-INF/JspC/src"/>   <delete dir="${webapp.path}/WEB-INF/JspC"/>  </target> </project>

只需要设置好Ant的path环境变量,然后修改build.properties。执行ant all命令即可。 生成好的jar文件是{$webappname}JSP.jar。 在做为产品发布的时候,只需要你的类jar包和JSP预编译的包放到WEB-INF\lib\目录下即可,如${webappname}.jar和JSP预编译的包${webappname}JSP.jar; 然后删除掉你的所有的预编过的JSP源文件; 并且${webapp.path}/WEB-INF/webJSP.xml里的servlet映射,添加到${webapp.path}/WEB-INF/web.xml中。

这里有个问题,不知道有没有办法帮我们直接添加到我们已经存在的web.xml里,想偷个懒啊。。。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Tomcat 6 --- 使用Jasper引擎解析JSP

    熟悉JAVA web开发的朋友都知道JSP会被转换成java文件(预编译),然后编译成class使用,即按照JSP-->java-->class的过程进行编译...

    用户1154259
  • jsp编译、执行过程

    https://blog.csdn.net/napoay/article/details/50755064

    大学里的混子
  • tomcat6.0下找不到jasper-runtime.jar

    今天有点需求,需要用jasper-runtime.jar包。但是我在我的\apache-tomcat-6.0.16\lib目录下,怎么也找不到这个jar包。结果...

    闵开慧
  • 图解JSP运行原理和过程

    下面代码通过注解来处理/hello的请求, 并在代码中将请求转发到上述hello.jsp.

    望天
  • Spring Boot 最佳实践(二)集成Jsp与生产环境部署

    提起Java不得不说的一个开发场景就是Web开发,也是Java最热门的开发场景之一,说到Web开发绕不开的一个技术就是JSP,因为目前市面上仍有很多的公司在使用...

    Java中文社群-磊哥
  • 使用 Eclipse 查看 JSP 编译生成 Servlet 的流程并进行 JSP 编译原理剖析

    相信大家都了解,JSP 页面在请求的时候会先被 Tomcat 编译为 Servlet(Servlet 是用 Java 语言编写的服务器端程序),然后再由 Jav...

    白鹿第一帅
  • springboot(16)-jsp

    JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems...

    叔牙
  • Java网络01 Tomcat初次尝试

    Tomcat是一套开源软件,它由Apache Software Foundation(ASF)开发,用于实现Java Servlet和JavaServer Pa...

    Vamei
  • 深入Spring Boot (十二):集成JSP

    话不多说,直接上代码。依赖管理pom.xml,需要添加servlet和嵌入式tomcat运行jsp需要的jar,详细依赖配置如下:

    JavaQ

扫码关注云+社区

领取腾讯云代金券