今天看了一个帖子,帖子里中提到了“tomcat怎么保证jsp在修改后生效”,最后从评论中得到了答案。这里我自己也整理一下,留用。原文地址:http://tywo45.iteye.com/blog/1768354
JSP页面的最终归宿也是Class(JSP->Servlet->Class),为什么同样是Class,一般情况下(Tomcat server.xml中reloadable=false)修改了JSP后,会生效,而修改了Class文件后,不会生效,而要重启呢?
这是因为Tomcat对JSP进入了侦听,如果有修改,就会重新翻译成Servlet并最终编译成Class文件,替换掉原JSP页面对应的Class文件。Tomcat的内部机制是可以让这种Class文件立即生效的。而普通的Class文件修改后,不能立即生效。
在Tomcat的Conf/web.xml文件中,可以对Tomcat的这种对JSP修改的机制进行修改。
<!-- modificationTestInterval --> <!-- Causes a JSP (and its dependent files) to not --> <!-- be checked for modification during the --> <!-- specified time interval (in seconds) from the --> <!-- last time the JSP was checked for --> <!-- modification. A value of 0 will cause the JSP --> <!-- to be checked on every access. --> <!-- Used in development mode only. [4] -->
在“development”(开发模式)下,可以使用modificationTestInterval来设置Tomcat检查JSP更新的时间间隔,单位为秒,默认4秒
<!-- checkInterval If development is false and checkInterval is --> <!-- greater than zero, background compilations are --> <!-- enabled. checkInterval is the time in seconds --> <!-- between checks to see if a JSP page (and its --> <!-- dependent files) needs to be recompiled. [0] -->
在非“development”模式下,使用checkInterval来设置Tomcat检查JSP更新的时间间隔,单位为秒,默认为不检查。
对于上面提到的“development”模式,也是在web.xml文件中配置的,如下
<!-- development Is Jasper used in development mode? If true, --> <!-- the frequency at which JSPs are checked for --> <!-- modification may be specified via the --> <!-- modificationTestInterval parameter. [true] -->
默认情况下Tomcat使用“development” 模式。
相关推荐
为了解决这个问题,可以配置Tomcat实现热更新class文件,使得修改后的Java类在不重启服务器的情况下就能立即生效。下面将详细介绍如何实现这一功能。 首先,我们需要理解Tomcat的工作原理。当一个Web应用被部署到...
8. **解决可能出现的问题**:如果遇到找不到jsp编译的class错误,可以尝试清理work目录,或者复制一个新的Tomcat项目中的work目录到当前项目。 总结起来,Tomcat插件在Eclipse中提供了强大的调试和部署功能,极大地...
在IT领域,特别是Java Web开发中,热部署(Hot Deployment)是一种非常实用的功能,它允许开发者在不重启服务器的情况下更新应用程序代码,极大地提高了开发效率。本文将深入解析如何在IntelliJ IDEA(简称IDEA)中...
- `reloadable`:若设为`true`,则允许热部署,即在不重启Tomcat的情况下更新JSP或Servlet文件。 - `privileged`:设为`true`后,该上下文将拥有更高的权限,比如访问系统级资源。 2. **Host元素**: ```xml ...
Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,它遵循Java Servlet和JavaServer Pages(JSP)规范,提供了一个运行Java Web应用的轻量级服务器环境。Solr,另一方面,是Apache Lucene项目的一个子项目,...
- 重启 Tomcat。 - 访问 `http://localhost:8080/testapp/index.jsp`,以确认虚拟目录是否生效。 #### 四、Server 创建 此处提到的“Server 创建”可能是指配置 Tomcat 服务器,已经在上述步骤中完成了。 #### ...
Apache Tomcat 8.5.29 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。Tomcat是Apache软件基金会Jakarta项目的一部分,以其轻量级、高效和稳定而受到...
4. **重启Eclipse**:安装完成后需要重启Eclipse使插件生效。 5. **配置Tomcat**:重启后,在Eclipse中选择“Window” -> “Preferences” -> “Tomcat”,然后添加一个新的Tomcat服务器,选择版本为`5.x`,并指定...
- 测试时应确保Tomcat服务已重启生效。 #### 四、扩展知识:大型系统中的图片处理 在大型项目中,通常不会仅仅依赖于Tomcat的静态文件服务功能。更常见的是采用以下架构模式: 1. **负载均衡与多级缓存**: - ...
- 重启Tomcat服务器使更改生效。 - 使用浏览器访问`http://localhost:8080/aa/aa`,可以看到“Hello World Servlet”的输出。 通过以上步骤,我们成功地手动配置了Tomcat服务器并部署了一个简单的Servlet程序。这...
在IT行业中,Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web部分标准,尤其是Servlet和JSP。配置Tomcat的环境变量是每个开发者或运维人员在部署和运行Tomcat时必须经历的步骤。这有助于确保...
- 重启计算机后启动Tomcat,以确保所有更改生效。 #### 二、连接MySQL数据库 为了测试MySQL数据库的连接性,可以创建一个简单的JSP文件`testmysql.jsp`,并将其放置在Tomcat的`webapps\root`目录下(假设Tomcat...
- 修改`web.xml`配置文件,添加或更新`.jar`,或者修改Java类(`.class`)文件,需要重启Tomcat服务器以使更改生效。 5. 常用JSP代码示例: - `("name") %>`用于获取HTTP请求参数。 - `<jsp:include>`标签用于...
为了解决这个问题,引入了热加载技术,其中Jrebel是一个非常知名的工具,它能实现在不重启服务器的情况下即时更新应用代码。 【描述】:Tomcat热加载Jrebel是通过Jrebel插件与Tomcat服务器的集成,实现Java应用的热...
为了使配置生效,需要更新Tomcat的主配置文件`Server.xml`,位于`conf`目录下。找到`<GlobalNamingResources>`标签,这里包含了全局资源的定义。你需要添加一个`<Resource>`标签来定义你的数据源,包括`name`、`...
在IT行业中,Tomcat是一个广泛使用的Java Servlet容器,它实现了Java EE的Web...记得在完成配置后重启Tomcat,以确保改动生效。在实际生产环境中,还可以根据服务器负载和用户需求调整这些参数,以达到最佳的性能效果。