手动模拟Tomcat编译jsp文件

Tomcat编译jsp文件的配置路径是在%tomcat_home%/conf/web.xml中,有这样一段代码

    <servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name> <!--强制编译 -->
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

此段代码表示以.jsp结尾的文件都交给org.apache.jasper.servlet.JspServlet这个类执行。

JspServlet这个类的功能是将.jsp文件编译为.java文件。

下面就来手动编译jsp文件

1.导入jar包:jasper.jar;servlet-api.jar;el-api.jar;catalina-ant.jar;jasper-el.jar;jasper-jdt.jar;tomcat-juli.jar;jsp-api.jar;ant.jar 这些jar包在%tomcat_home%/lib/和%tomcat_home%/bin/中。

2.编译类是在jasper.jar中的org.apache.jasper.JspC这个类。

执行:java -cp jasper.jar;servlet-api.jar;el-api.jar;catalina-ant.jar;jasper-el.jar;jasper-jdt.jar;tomcat-juli.jar;jsp-api.jar org.apache.jasper.JspC  >  result.txt

实例:编译webapp目录下的所有.jsp文件。

java -cp jasper.jar;servlet-api.jar;el-api.jar;catalina-ant.jar;jasper-el.jar;jasper-jdt.jar;tomcat-juli.jar;jsp-api.jar;ant.jar org.apache.jasper.JspC -webapp webapp -uriroot webapp -compile -webxml web.xml -d classes -javaEncoding GBK -p com.miatc

手动编译Jsp文件的更多相关文章

  1. Tomcat不能自动编译JSP文件问题的一种解决方法

    今天碰到一个非常奇怪的问题,机器环境是JDK8.Tomcat8,把jQuery MiniUI ( for Java Eclipse)下载后导入到Eclipse中,首页可以显示,但运行操作数据库的页面出 ...

  2. 用csc命令行手动编译cs文件

    一般初学c#时,用记事本写代码,然后用命令行执行csc命令行可以编译cs文件.方法有两种 1:配置环境,一劳永逸 一般来说在C:\Windows\Microsoft.NET\Framework\v4. ...

  3. 菜鸟攻略–C语言多文件编程初探(二):使用 gcc 手动编译多文件 C 程序

    step1:下载安装 Dev-C++ 已经安装了 Dev-C++ 或系统中的可以跳过这步.去官网下载 Dev-C++.我昨天下载,发现有点慢,所以我把安装文件放到百度网盘了,供大家下载,下载链接为:h ...

  4. 如何手动编译java文件

    1,在编辑框中,将目录切至java文件所在的地址 如图 2,开始编译java文件 用命令javac 编译目标java文件,文件需带后缀名 ; 用java 执行class, 此时class文件无需带后缀 ...

  5. 使用org.apache.jasper.JspC编译jsp文件--转载

    JspC可以通过jspc.setArgs(args);设置所需参数,和使用指令进行编译相同, 使用指令编译范例: java -cp jasper.jar;servlet-api.jar;Fcatali ...

  6. 配置tomcat及如何自动编译jsp文件

    1.myeclipse如何关联tomcat? 四个注意点...  必须一致! 2.别人修改过jsp不用重启服务器,我的却要每次重启服务器,网上找了很多方法都没有用,很是郁闷...最后发现了原来是bui ...

  7. python入门1 python手动编译py_compile,compileall

    python运行之后会自动生产pyc文件,也可以手动编译生成pyc文件.代码如下: #coding:utf-8 """ 2018-11-03 dinghanhua 手动编 ...

  8. weblogic对JSP预编译、weblogic读取JSP编译后的class文件、ant中weblogic.jspc预编译JSP

    我们都知道在weblogic中JSP是每次第一次访问的时候才会编译,这就造成第一次访问某个JSP的时候性能下降,有时候我们也希望JSP被编译成class然后打包在jar中实现隐藏JSP的功能,下面介绍 ...

  9. tomcat编译超过64k大小的jsp文件报错原因

    今天遇到一个问题,首先是在tomcat中间件上跑的web项目,一个jsp文件,因为代码行数实在是太多了,更新了几个版本之后编译报错了,页面打开都是报500的错误,500的报错,知道http协议返回码的 ...

随机推荐

  1. C/C++笔试题(很多)

    微软亚洲技术中心的面试题!!! .进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2 ...

  2. 如何给caffe添加新的layer ?

    如何给caffe添加新的layer ? 初学caffe难免会遇到这个问题,网上搜来一段看似经典的话, 但是问题来了,貌似新版的caffe并没有上面提到的vision_layer:

  3. Linux文件操作

    Linux中一切都是文件.如普通文件,目录,设备,管道等.操作这些文件有两种方式,调用系统函数和使用标准I/O库. 一.调用系统函数1.文件描述符:数值类型,表示打开的文件标识程序运行时,会首先打开3 ...

  4. 网页上下载文件提示框(vb.net)

    Public Sub downLoadFile(ByVal fPath As String) Dim fileInfo As System.IO.FileInfo = New System.IO.Fi ...

  5. linux概念之时间与时区

    http://www.cnblogs.com/liuyou/archive/2012/07/29/2614338.html Linux时间基准 以上我们了解了RTC(实时时钟.硬件时钟)和OS时钟(系 ...

  6. GridView中实现点击某行的任意位置就选中该行

    来源:http://auv2009.blog.163.com/blog/static/68858712200992731010670/ 在 GridView中增加一列:(该列是选择按钮,让其不显示) ...

  7. OpenJudge计算概论-字符串最大跨距

    /*====================================================================== 字符串最大跨距 总时间限制: 1000ms 内存限制: ...

  8. OpenJudge计算概论-求满足条件的3位数

    /*======================================================================== 求满足条件的3位数 总时间限制: 1000ms 内 ...

  9. Mysql 排序优化与索引使用(转)

    为了优化SQL语句的排序性能,最好的情况是避免排序,合理利用索引是一个不错的方法.因为索引本身也是有序的,如果在需要排序的字段上面建立了合适的索引,那么就可以跳过排序的过程,提高SQL的查询速度.下面 ...

  10. eclipse解压后启动弹出A Java Runtime Evironment(JRE) or Java Development Kit(JDK)....

    系统环境:win7 64bit JDK:jdk-7u79-windows-x64 Eclipse:eclipse-jee-helios-win32 启动eclipse:弹出A Java Runtime ...