今天在系统维护时,发现jsp无法打开,显示_jsp.class异常FileNotFoundException 后面还有个权限不够!
1.重启tomcat
2.注意linux权限,再重启tomcat
认真看了一下这个错误!发现是在tomcat/work目录找不到jsp。开始普及!
当浏览器访问某个jsp页面时,tomcat会在work目录里把这个jsp页面转成.java文件,比如将index.jsp转换成index_jsp.java文件,而后编译为index_jsp.class文件,最后tomcat容器通过ClassLoader类把这个index_jsp.class类装载入内存,进行响应客户端的工作。
tomcat会定时扫描容器内的jsp文件,读取每个文件的属性,当发现某个jsp文件发生改变时(文件的最后修改时间与上次扫描时不相同时),tomcat会重新转换、编译这个jsp文件。但是tomcat的扫描是定时的不是实时的,这也正是为什么jsp文件修改后需要几分钟的时间来等修改过的jsp生效
也就是说,tomcat会将jsp进行编译后,按目录存储于work目录!
所以就对于JSP和freemarker的效率问题!JSP首次加载会比较慢,当装载到内存后,JSP效率将大大提升!