关于Tomcat编译JSP

最近在项目中,需要修改一个jsp的的内容,主要是设计里面的java代码,在对代码就行修改之后(为了防止出错,特意把原来的jsp文件备份了一个,另外copy了一份jsp),由于新的jsp执行出错,所在就直接把原来的jsp文件放回去

再次访问jsp的时候,发现报错是原来的jsp上面的错误,但是明明那个jsp文件已经删除了。

于是上网查资料,发现Tomcat在编译jsp文件的设计:在对jsp进行访问的时候,Tomcat会把jsp文件的修改时间与最近一次编译这个jsp文件的时间戳进行对比,若jsp文件的修改时间小于或者等于最近一次编译的时间,tomcat就不会再进行一次编译,而是直接把Tomcat的class文件供外部访问(JSP文件最终会被编译成class文件),所以也就出现了我上述说的问题,因为我是复制了jsp文件,所以老的jsp文件的修改时间是不是最新的,所以Tomcat不会再次进行编译,而是使用原来的class文件

解决办法:1  对要访问的jsp文件的就行任意不影响代码的操作比如换行、加空格

2 删除Tomcat的work目录,这时Tomcat就会重新编译jsp文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章