tomact的work目录

1.  用tomcat作web服务器的时候,部署的程序在webApps下,这些程序都是编译后的程序(发布到tomcat的项目里含的类,会被编译成.class后才发布过来,源文件没有发布过来,但这里的jsp没有经编译的)。tomcat有一个work目录,里面存放了页面的缓存,访问的jsp都会编译(从 work里进入Catalina后的如localhost站点文件夹下的项目,我们可以看到那些jsp页面会被编译成应该是servlet文件,下次再来 访问时,就直接运行servlet类就可以向客户端反应响应页面了,所以有的博客说第一次访问时会比较慢,是因为新发布上去的页面在第一个人访问时,会先 编译成servlet文件,所以慢了,一旦编译好,那么除非jsp页面修改,不然下次访问直接运行servlet就可以响应用户,所以快),编译后的文件都会存储在work目录下。而tomcat显示的目录,都会从这个缓存里找编译后的jsp对应的class文件。所以当清空了work目录后,该过程将会从新来过。     
    有的时候会遇到一个问题,就是修改后的页面在tomcat运行的时候显示不了修改后的痕迹。这个时候删除work目录下对应的项目文件夹,重新启动tomcat就可以了。

2. 在tomcat的conf配置文件夹下的server.xml文件里配置了Host name后,就会在conf下的Catalina文件夹和work下的Catalina文件下建立站点名称的文件夹,项目每次发布都会放入来,也会记录到 conf下的Catalina文件夹的配置文件里去。

最近发现,很多网友喜欢把tomcat的work目录里的东西叫做缓存,其实那不是很恰当,work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录,这也正是为什么它叫work目录而不是cache目录的原因。 
  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容器中,对转换后的java文件(比如:index_jsp.java)的编译最大只支持64k,所以在其他容器中的jsp移植到tomcat容器中时会遇到大jsp文件会发生无法编译的情况,所以建议把jsp中的业务逻辑写入单独的类,在jsp中通过调用这个类的静态方法来执行,并将jsp页面中的js提取出来放到单独的js文件内。

问题域: 
    如何让Tomcat自动更新class的问题。 
解决方案: 
一、 
在安装的tomcat路径下创建独立配置文件。 
例如: 
创建一文件:D:\Tomcat5.5\conf\Catalina\localhost\testapp.xml

内容为: 
<Context docBase="D:\Tomcat5.5\webapps\testapp" reloadable="true" path="/testapp" workDir="work\Catalina\localhost\testapp"> 
</Context>

重启Tomcat

二、 
直接在tomcat 的配置文件conf/server.xml中添加内容如下: 
<Context docBase="D:\Tomcat5.5\webapps\testapp" reloadable="true" path="/testapp" workDir="work\Catalina\localhost\testapp"> 
</Context> 
注意是在<Engine name="Catalina" defaultHost="localhost">标签下添加; 
重启Tomcat

《转载于他人》

时间: 2024-10-04 06:35:10

tomact的work目录的相关文章

nginx+tomact+memcached(缓存)集群

关于Nginx+tomcat+memcached(缓存)配置集群负载均衡的下载与安装流程: 实现的整体步骤 一:安装memcached.(memcached可以一个或者多个) 二:安装两个tomcat 三:配置msm. 四:安装nginx,实现负载均衡. 以下是详细步骤: 第一步:安装memcached 1.       下载memcached服务端memcached-1.2.6-win32-bin.zip,地址:csdn 第二步:安装tomcat 1.       安装两个tomcat6,如果

Tomact下载、安装与环境配置脱坑记录

Tomcat下载 访问Tomact官网进行下载,目前最新是Tomact9,当前使用的是 exe包: Tomcat安装 1.双击exe程序进行安装,选择非C盘安装,端口选择默认 2.Tomcat的目录结构  bin:目录存放一些启动运行Tomcat的可执行程序和相关内容.    conf:存放关于Tomcat服务器的全局配置. lib:目录存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包. logs: 存放日志文件 temp:  存放临时文件   wab

修改war包安装的jenkins的工作目录

部署jenkins的时候我是遇到了一个问题,可以说算是根据你自己的项目需求进行对你的jenkins进行修改,因为你去拉代码的时候,默认安装的jenkins的工作目录你可以看到是在.jenkins下,你安装的jenkins的配置还有你的拉代码进行编译的地方都是在这个工作目录下,我是部署了nfs这样的一个共享存储,我是希望将我们的项目单独放在这个共享存储文件下也方便我去进行管理,所以我进行了修改配置修改目录位置我的jenkins是在tomact容器下部署的war包所以我要在tomact的bin目录下

form提交数据中文乱码问题总结

一:form在前台以post方式提交数据: 浏览器将数据(假设为“中国”)发送给服务器的时候,将数据变成0101的二进制数据(假设为98 99)时必然要查码表,浏览器以哪个码表打开网页,浏览器就以哪个码表提交数据.数据到达服务器后,数据(98 99)要封装到request中,在servlet中调用Request的getParameter方法返回的是字符串(“中国”),方法内部拿到数字后要转成字符,一定要查码表,由于request的设计者是外国人,所以默认查的是他们常用的ISO8859-1,这就是

Java Web开发: Tomcat中部署项目的三种方法

web开发,在tomcat中部署项目的方法: 注意大小写 1.在conf目录中新建Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,改xml文件的内容为: <Context path="/qxmobile"  docBase="/usr/local/webroot/qxmobile" reloadable="false"  debug="0" p

myeclipse更改类或者是配置文件不用重启tomcat的方法

一.修改java代码(如action)无需重启与部署方法 方法1:在WebRoot下的META-INF文件夹中新建一个名为context.xml文件,里面添加如下内容(要区分大小写): <Context reloadable = "true">:</Context> 方法2:在tomact的安装目录的conf文件中找到server.xml这个文件,在 </Host>结点的上面加上 <ContextdocBase="工程物理路径&quo

windows 下tomact,jdk solr 搭建solr

工具: jdk8.0(solr6.1.0必须装jdk8.0,开始装的7.0最后卸了)下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html solr6.1.0 http://www.apache.org/dyn/closer.lua/lucene/solr/6.1.0 tomact (我下的8.5)http://tomcat.apache.org/ 步骤: 1.先安装jdk,保证在cmd

myeclipse安装tomact服务器图解

选择标题栏中 Window->Preferences->MyEclipse->Servers->Tomact你将会看到下面的图例 然后选择你需要安装的版本,这里本人已7.0.5为例安装一下.接下来单击Configure Tomact7.回进入下面的界面 下一步,选择Enable->Tomact home directory后面的Browse..按钮,选择你所下载的tomact目录,下面是本人的tomact目录为 然后选择确定,进入下面的图 下一步,选择Apply-ok,搞定你

Linux安装JDK,搭建Tomact环境

Linux系统是JDK, Tomact下载地址: http://download.csdn.net/detail/u012750578/8177367 第一步 安装jdk su - root 切换成root用户 sudo -i 不需要密码直接切换成root 1.进入usr目录 cd /usr 2.在usr目录下建立java安装目录 mkdir java # chmod 777 /usr chown -R root /usr/java [[email protected] java]# chmod