文学网站开发设计报告,网络营销和网络推广,移动 开发 网站建设,瓷砖网站模板2019独角兽企业重金招聘Python工程师标准 今天遇到一问题#xff0c;更改好的jsp部署到tomcat后#xff0c;无论如何页面也不生效#xff0c;最后才知道是tomcat的work目录没有清的原因#xff0c;借此机会也特地看了下work目录的作用以及原理#xff0c;做… 2019独角兽企业重金招聘Python工程师标准 今天遇到一问题更改好的jsp部署到tomcat后无论如何页面也不生效最后才知道是tomcat的work目录没有清的原因借此机会也特地看了下work目录的作用以及原理做个记录学习下 jsptomcat的工作原理是当浏览器访问某个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生效。当然为了即刻生效很多老前辈都会建议在修改jsp页面后立即清除work目录里的文件。 另外tomcat容器中对转换后的java文件比如index_jsp.java的编译最大只支持64k所以在其他容器中的jsp移植到tomcat容器中时会遇到大jsp文件会发生无法编译的情况所以建议把jsp中的业务逻辑写入单独的类在jsp中通过调用这个类的静态方法来执行并将jsp页面中的js提取出来放到单独的js文件内。 转载于:https://my.oschina.net/u/1051372/blog/277732