大家都知道,tomcat有一个work目录,用来存放编译好的jsp对应的servlet。正常年情况下,当发布新的jsp文件的时候,tomcat会自动识别更新,会重新编译这个jsp并将编译好的内容放到work目录中。但是有时候,tomcat会识别不了。 这种情况下,只好手工删除work目录,然后tomcat才会重新编译jsp。

想请教下大家,如何让tomcat可以正确识别出jsp的更新,而不用去删除work目录呢?也就是弄清楚tomcat识别jsp是否被更新的机制。

非常感谢 !!
评论
flynetcn 2008-03-13
<Context path="/project" reloadable="true" docBase="E:\javastudio\" workDir="E:\javastudio\work" />

workDir : Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹.
抛出异常的爱 2008-03-13
flynetcn 写道
抛出异常的爱 写道
flynetcn 写道
怎末我在work目录下找不到编译后的servlet文件,只找到tldCache.ser这样的文件?
tomcat 5.0.24

D:\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\work\Catalina\localhost\alcargoweb\org\apache\jsp

我刚学,不用Eclipse的。按大哥的说法,好像这个目录可以随便设的,在哪里设呢?
另外,一些只用Eclipse的人,我问这个问题,他都不知道有这末个目录,
我问web.xml中每一项的作用,他们也不知道,他们只用Eclipse。

查一下文档jsr大约叫这个名子。
flynetcn 2008-03-13
抛出异常的爱 写道
flynetcn 写道
怎末我在work目录下找不到编译后的servlet文件,只找到tldCache.ser这样的文件?
tomcat 5.0.24

D:\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\work\Catalina\localhost\alcargoweb\org\apache\jsp

我刚学,不用Eclipse的。按大哥的说法,好像这个目录可以随便设的,在哪里设呢?
另外,一些只用Eclipse的人,我问这个问题,他都不知道有这末个目录,
我问web.xml中每一项的作用,他们也不知道,他们只用Eclipse。
抛出异常的爱 2008-03-13
flynetcn 写道
怎末我在work目录下找不到编译后的servlet文件,只找到tldCache.ser这样的文件?
tomcat 5.0.24

D:\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\work\Catalina\localhost\alcargoweb\org\apache\jsp
ddandyy 2008-03-13
最好的方法就是重新上传
上传之前在控制台里把老的删掉先
flynetcn 2008-03-13
怎末我在work目录下找不到编译后的servlet文件,只找到tldCache.ser这样的文件?
tomcat 5.0.24
pupi 2008-03-08
to 异常:
我的tomcat确实都是把context reloadable设成false的。
因为appserver reload一下的动作还是挺大的。

另外,不晓得这些参数是否只对weblogic有效果,回头试试看,哈。
抛出异常的爱 2008-03-06
引用
Context
reloadable

如果希望Catalina监视/WEB-INF/classes/和/WEB-INF/lib下面的类是否发生变化,在发生变化的时候自动重载web application,设为true。这个特征在开发阶段很有用,但也大大增加了服务器的开销。因此,在发布以后,不推荐使用。但是,你可以使用Manager应用在必要的时候触发应用的重载。


http://dev2dev.bea.com.cn/techdoc/2005041305.html
pupi 2008-03-05
关键是不知道修改了jsp文件之后,系统会不会自动重编译。
这种情况在生产环境中出现就尤其犯难,因为你会怀疑是不是自己没有传呀什么的。
所以,往往只好清除work,再重启动。
很麻烦。
domando 2008-03-04
我也遇到过 不过仅当tomcat的bug来处理了。
都是再改动一下对应的jsp文件就可以了
wf_chn 2007-10-19
怎么调轮询时间,我还不会,请大 虾指教
pupi 2007-10-18
抛出异常的爱 写道
跟时间戳有关,class文件老了
在IDE中重新编译一下这个文件就可以了。

我说的是jsp文件呢,难道需要在本地编译好,然后覆盖服务器的work相应目录吗 ?
一般的做法是直接把jsp copy上去,然后让tomcat自动编译。


抛出异常的爱 写道
还有就是轮寻时间要调短。。。
不然还没轮到就点了一样没有变化

这个轮询指的是轮询什么?

抛出异常的爱 写道

最好的办法 是重新构建。

这个指的是重新打个war包,然后上传吗 ?
抛出异常的爱 2007-10-18
跟时间戳有关,class文件老了
在IDE中重新编译一下这个文件就可以了。
还有就是轮寻时间要调短。。。
不然还没轮到就点了一样没有变化
最好的办法 是重新构建。
javachs 2007-10-18
一般好像不会出现你讲的情况,重启tomcat吗
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

pupi
搜索本博客
我的相册
033eb71b-ab38-3cda-9670-a29c5ab5e586-thumb
37signals
共 9 张
存档
最新评论