zoukankan      html  css  js  c++  java
  • Tomcat下work文件夹的作用

    1.打补丁,重启tomcat时要删除work文件夹,有缓存。

    2.work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录

    jsp,tomcat的工作原理

            当浏览器访问某个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 打开tomcat/work目录 删除Catalina目录 运行Tomcat
    其实可以用RD命令删除整个目录,只需打开 tomcat/bin/startup.bat 文件,在开头加入 rd/s/q "C:Tomcat 6.0workCatalina" 路径根据自己实际情况做修改,这样每次启动Tomcat的时候就会先删除页面缓存了,不用担心页面修改后没被重新编译。

            另外,tomcat容器中,对转换后的java文件(比如:index_jsp.java)的编译最大只支持64k,所以在其他容器中的jsp移植到tomcat容器中时会遇到大jsp文件会发生无法编译的情况,所以建议把jsp中的业务逻辑写入单独的类,在jsp中通过调用这个类的静态方法来执行,并将jsp页面中的js提取出来放到单独的js文件内。

    后面参考他人:

  • 相关阅读:
    超强问卷调查系统源码购买及二次开发
    asp.net core mvc上传大文件解决方案
    asp.net core mvc发布后显示异常错误信息的方法
    基于.net core 2.0+mysql+AceAdmin搭建一套快速开发框架
    改造kindeditor支持asp.net core mvc上传文件
    Centos7 Nginx安装使用
    Centos7 守护进程supervisord 安装使用
    Centos7 .net core 2.0安装使用
    Centos7 Mysql安装
    Centos7 Redis安装
  • 原文地址:https://www.cnblogs.com/beijingstruggle/p/4949324.html
Copyright © 2011-2022 走看看