关于Tomcat自动加载项目的问题的原则:
需要启动的有 : *.java;*.xml;配置文件
不需要启动的有: *.jsp
配置文件改了要重起,
servlet改了编译完reload,
jsp只用刷新页面
1、首先为Tomcat添加一个manager的role:在TOMCAT_HOME\conf\tomcat-users.xml文件中将
<user username="tomcat" password="tomcat" roles="tomcat"/>
修改为
<user username="tomcat" password="tomcat" roles="tomcat,manager"/>
2、启动http://localhost:8080/,点页面左上角的"Tomcat Manager"(用户名&密码就是上面设置的,默认都是tomcat),进入Web项目管理页面;
3、以后在Eclipse中更改servlet、java、xml、properties等文件后,需要对相应的Web项目点“Reload”按钮,才能让Tomcat部署和Eclipse中同步(而JSP文件自动同步,无需如此)。
修改servlet而不需要重新启动tomcat服务器和websphere服务器,可以提高开发速度。
(1)修改servlet而不重新启动tomcat
修改
%TOMCAT_HOME%\conf\server.xml
大致如下:
<Context path="" docBase="ROOT" debug="0" reloadable="true"/>
其中reloadable就是配置是否自动reload的,把它设为true,如果没有这一项,加上。
(2)修改webshpere中的servlet而不重新启动服务:
修改..\WEB-INF下面的web.xml:
加入<webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappext="webappext.xmi" xmlns:webapplication="webapplication.xmi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmi:id="WebApp_ID_Ext" reloadInterval="3" reloadingEnabled="true" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="true"
>
其中reloadInterval="3" reloadingEnabled="true" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="true"是主要的,reloadInterval="3" reloadingEnabled="true" 是说修改后3秒自动重新载
入。
让tomcat自动加载修改过的类和servlet
我们在开发的过程经常需要调试,也常常需要修改使用的类和servlet,如果是使用war方式tomcat可以自动重新发布,但是通常情况下我们使用tomcat开发的时候不会进行打包发布,那么如何让tomcat自动加载你修改过以后拷贝到webapps的某个应用中的类呢?其实很简单,对于某个应用,我们一般会在tomcat的配置文件server.xml为它建一个context,为应用配置数据源等,我们修改这个应用的context就可以达到让tomcat自动加载的目的:
例如:
<Context path="/test" docBase="test"
debug="0" privileged="true" reloadable="true" >
</Context>
最重要的就是 reloadable="true"了。
让tomcat5自动加载web应用
tomcat可以监视你的web应用,当其中的内容发生变化时(比如servlet被重新编译,jsp页面改动),自动加载新的内容,不过这项功能默认是关闭的,需要手动修改配置文件
我在一些教程里面看到,要使tomcat能够自动加载,需要修改$CATALINA_HOME/conf/server.xml文件,在需要监视的web应用对应的context元素中,增加一个reloadable属性为true,即<Context reloadable="true">,修改完成后重启tomcat即可
不过上述教程是针对tomcat4.x的,我现在用的是tomcat5.5,当打开$CATALINA_HOME/conf/目录时,可以看到还有context.xml文件,打开一看里面只有一个context元素,再看看注释,这是一个全局的配置文件,可以影响所有的context元素
由于和教程上的有些出入,觉得不太踏实,遂打开tomcat的配置说明文档,原来自tomcat5开始,已经不推荐把context放在$CATALINA_HOME/conf/server.xml文件中进行修改了,因为那样只有在服务器重启后,对context的修改才能生效.tomcat提供了几种替代方案:
1.修改$CATALINA_HOME/conf/context.xml 文件,也就是上面提到的方法
2.$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default 文件,默认在这个host下的所有web应用都会使用这个配置文件
3.在$CATALINA_HOME/conf/[enginename]/[hostname]/ 目录下,如果你要配置名为abc的web应用,那么新建一个名为abc.xml的文件,tomcat会自动搜索这个目录下的xml文件,并将相同文件名与web应用关联.如果是多级的,则在文件名中使用#分开,比如abc/efg的context文件名为abc#efg.xml
4.最后,对于每个web应用,可以在/META-INF/context.xml 设置
不过,设置自动加载后,tomcat会隔几秒扫描一遍对应的目录,那样会带来 不必要的性能损失,只适合在开发阶段使用
分享到:
相关推荐
介绍了让tomcat自动加载的 代码及文件
因此,让Tomcat自动加载修改过的类和Servlet成为提高开发效率的关键需求之一。 ### 让Tomcat自动加载修改过的类和Servlet #### 知识点一:理解Tomcat的热部署机制 Tomcat默认情况下并不会自动检测到类或Servlet的...
这个实例主要探讨如何使用Quartz实现自动化的任务调度,包括自动生成表达式、动态更新XML配置文件以及在Tomcat服务器上实现自动加载。 首先,Quartz的核心在于Job和Trigger。Job是实际执行的任务,而Trigger则定义...
在这里,可以选择“ Automatically publish when resources change ”,这样每当源代码有更改时,MyEclipse会自动将更新推送到Tomcat,实现动态加载。 3. **热部署与热更新**:热部署是指在不中断服务的情况下更新...
- 另外,如果希望Eclipse自动部署项目更改到Tomcat服务器上,则需要取消勾选“Automatically deploy on server start”选项。 #### 二、部署项目 完成以上步骤后,即可将Web项目部署到Tomcat服务器上进行测试和...
在网上找了好多关于Nsis打包JavaWeb和tomcat的方法,都没有能让tomcat服务自动重启的,便自己研究编写了一个方法。供大家参考! 1、实现程序一键安装 2、卸载 3、安装时验证密码 4、应用系统快捷方式启动、注册...
通常,开发者希望在不重启服务器的情况下更新代码,这时DevLoader可能会有热部署功能,即在代码更改后,能自动或手动重新加载修改过的类,而无需停止和重新启动Tomcat服务。这大大提高了开发效率。 类加载器在...
eclipse-tomcat 自动部署包
ssh Tomcat自动部署无需手动重启服务器设置 本文主要介绍了使用ssh实现Tomcat自动部署的方法,以及解决OutOfMemoryError PermGen space系统错误的方法。 一、配置Tomcat server.xml文件 在Tomcat的conf文件夹下...
这样Tomcat在启动时会加载这些驱动,使得能够正确地建立数据库连接。 #### 五、修改Hibernate配置文件 **4. 修改项目hibernate配置文件** 对于使用Hibernate框架的应用,需要在项目的hibernate配置文件中进行...
请注意,过度频繁的缓存清理可能会对性能造成影响,因此在设置自动清理策略时,需要根据实际负载和资源使用情况来平衡清理频率与性能之间的关系。在生产环境中,建议进行充分的测试和调整,以确保系统的稳定性和效率...
最后,启动Tomcat,Jrebel就会自动监测代码变动并实现热加载。 4. **Jrebel优势**:除了提高开发效率,Jrebel还能减少由于频繁重启导致的内存泄漏风险,因为它避免了长期运行的应用实例被反复创建和销毁。此外,...
1. **兼容性问题**:不是所有的Tomcat版本都支持自动发布功能。通常情况下,Tomcat 7及以上版本才提供了较为完善的自动发布支持。 2. **性能考量**:虽然自动发布极大地提高了开发效率,但在生产环境中应谨慎使用,...
这种方法可以实现每修改下源代码,重启TOMCAT服务就可以加载新代码测试,极大地提高了开发者的工作效率。 在使用第二种方法时,需要新建个Dynamic Web Project,命名为zb4,在WebContent下,新建个文件login.jsp,...
在Web服务启动时自动加载Servlet是一种常见的优化策略,目的是在应用程序启动时就准备好Servlet实例,以便快速响应用户请求。本例中,我们将讨论如何配置Web服务以在启动时加载Servlet,并利用Spring框架来读取和...
1. **配置问题**:检查`server.xml`,这是Tomcat的主要配置文件,包含了端口号、连接器设置、Context配置等关键信息。如果端口号冲突或配置错误,可能会导致Tomcat无法启动。例如,确保HTTP/HTTPS的端口8080和8443...
### CentOS 设置 Tomcat 开机自启动 #### 一、前言 在生产环境中,为了确保应用服务器能够稳定运行,我们...通过上述步骤,您可以在CentOS系统上轻松地为Tomcat设置开机自启动功能,从而提高系统的可靠性和稳定性。
在IT行业中,自动化部署是提升效率、降低错误率的关键技术之一。本项目“自动化部署项目_Tomcat”...在实际工作中,我们可以根据项目需求进一步扩展这个自动化部署方案,例如集成数据库迁移、配置动态加载等高级功能。