首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Tomcat不会重新加载jsp页面。

Tomcat是一个开源的Java Servlet容器,用于运行Java Web应用程序。在Tomcat中,JSP(JavaServer Pages)是一种动态网页技术,允许在HTML页面中嵌入Java代码。当JSP页面被访问时,Tomcat会将其编译成Java Servlet,并在服务器上执行。

关于Tomcat不会重新加载JSP页面的问题,这可能是由于以下几个原因:

  1. 配置问题:在Tomcat的默认配置中,JSP页面的修改不会自动触发重新加载。这是为了提高性能和减少资源消耗。如果希望在每次修改后自动重新加载JSP页面,可以通过修改Tomcat的配置文件来实现。
  2. 编译问题:Tomcat会将JSP页面编译成Java Servlet,并将其保存在服务器上。如果JSP页面没有发生变化,Tomcat会使用已编译的Servlet来处理请求,而不会重新加载JSP页面。因此,如果要使修改的JSP页面生效,需要重新编译并重新加载。
  3. 缓存问题:Tomcat会将已编译的JSP页面缓存起来,以提高性能。如果JSP页面没有发生变化,Tomcat会直接使用缓存的页面,而不会重新加载。如果要强制Tomcat重新加载JSP页面,可以清除Tomcat的缓存或者重启Tomcat。

总结起来,Tomcat不会自动重新加载JSP页面,需要手动配置或者操作来实现。如果需要频繁修改和测试JSP页面,可以考虑使用开发工具或者框架,如Spring Boot,它提供了热部署功能,可以在修改保存后自动重新加载页面。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云CDN加速(CDN):https://cloud.tencent.com/product/cdn
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云移动开发(移动开发):https://cloud.tencent.com/product/mad
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云游戏多媒体引擎(GME):https://cloud.tencent.com/product/gme
  • 腾讯云视频处理(VOD):https://cloud.tencent.com/product/vod
  • 腾讯云音视频通信(TRTC):https://cloud.tencent.com/product/trtc
  • 腾讯云安全加速(SA):https://cloud.tencent.com/product/sa
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Tomcat服务器+JSP页面+MySQL数据库网站部署

    诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。...另外,Tomcat和IIS等Web应用服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。...由上面的对Tomcat服务器的介绍得知,我们的Tomcat服务器是用来运行JSP页面和Servlet的,而JSPJSP编译器编译成Java Servlets。...1、Tomcat服务器端部署JSP动态页面源码: 先把事先准备好的JSP页面源码压缩包解压,然后把解压后目录下面的WebRoot目录拷贝到Linux系统中,如图: 把上述箭头指向的WebRoot目录拷贝到...Tomcat服务器上面部署JSP页面到这里就算完成了,但是到这一步Tomcat服务器只能显示静态的页面,因为Tomcat服务器没有跟数据库连接,不涉及到数据库操作,所以不能显示动态的JSP页面

    9.8K72

    JSP热部署的实现原理

    Classloader实现jsp重新加载 Tomcat通过org.apache.jasper.servlet.JasperLoader实现了对jsp加载,下面做个测试: 1....修改jsp,保存并刷新jsp页面,再次查看后台输出,此classloader实例已经不是刚才那个了,也就是说tomcat通过一个新的classloader再次装载了该jsp。 4....其实,对于每个jsp页面tomcat都使用了一个独立的classloader来装载,每次修改完jsp后,tomcat都将使用一个新的classloader来装载它。...,当然,tomcat也没通过该方式实现class文件的重新加载。...文件,它的classloader始终是同一个WebappClassLoader,除非容器重启了,相信做完这个实验你就不会再认为tomcat是使用一个新的classloader来加载修改过的class了,

    1K30

    JSP 热部署 源码解析

    Tomcat jsp热部署的实现原理是每个JSP页面从上次访问到下次访问总是有默认几秒的缓存时间的,也就说并不是严格的即修改即生效,tocmat7默认是有4秒的缓存延迟的。...如果过了4秒缓存时间即失效,这个时候tomcat就会读取jsp的modified时间戳和work目录下编译好的class文件的modified的时间戳作对比。...如果相等则class文件没有过期,则不会重新编译jsp文件,如果过期了则重新jsp编译成java,并进一步编译成class。...同时创建一个新的JasperLoader来重新加载这个有jsp编译好的class文件。 热部署原理 一个class只能由classloader加载一次,如果再次加载将会导致类冲突。...判断当前jsp页面的JspServletWrapper对象是否存在,如果不存在,则创建并存放到 jsps缓存中。

    4.5K30

    tomcat结合nginx使用小结

    此时我们修改了文件,是不是就意思着必须先关了nginx再重新启动了,其实不必,nginx可以重新加载文件的。...下面我们所有的修改都假设我们修改完成后运行了nginx -s reload进行重新加载配置文件,请注意。...一切没问题了,然后我们再重新打开http://localhost,我们看到下面的页面: 这时,我们发现它并不是刚才的welcome页面了,而是tomcat的管理页面了,不管我们点击什么链接都是没问题的...但实际上我们的需求不会是这样的,我们需要分文件类型来进行过滤,比如jsp直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP,而html,js,css这些不需要处理的,直接给...下面我们来进行一下配置,让JSP页面直接给tomcat,而html,png等一些图片和JS等直接给nginx进行缓存。

    1.1K70

    Tomcat源码分析 】深入探索:Tomcat加载机制揭秘

    双亲委派模型的工作流程如下:当一个类加载器收到类加载请求时,它不会立即尝试加载该类,而是将请求委托给父类加载器处理。每一层级类加载器都遵循这一原则,最终请求将传递到顶层的启动类加载器。...因此,Web 容器应支持 JSP 修改后无需重启服务器,以提高开发效率。 再回头看问题,Tomcat 如果使用默认的类加载机制行不行? 答案是不行的。为什么?...首先,默认的类加载器机制无法加载相同类库的不同版本。其机制只关注全限定类名,而不会区分版本。因此,第一个和第三个问题无法通过默认机制解决。...为了解决这个问题,可以为每个 JSP 文件创建唯一的类加载器。当 JSP 文件修改后,直接卸载该类加载器,并重新创建类加载器,从而重新加载修改后的 JSP 文件。...Jsp加载器 为每个 JSP 页面创建唯一的类加载器,方便实现 JSP 页面的热插拔,提高开发效率。 至此,我们对 Tomcat加载器体系有了初步了解,接下来将深入探讨其源码实现。

    7910

    JavaWeb(一)JSP原理,组成

    JSP(Java sever pages):一种用于开发动态web页面(资源)的技术。 jsp页面是在服务器上运行的一个页面,一个jsp页面就是一个类。...JSP 的执行过程: (1) 客户端发出Request (请求); (2) JSP Container 将JSP 翻译成Servlet 的源代码; (3) 将产生的Servlet 的源代码经过编译后,加载到内存执行...因为JSP 在执行第一次后,会被编译成Servlet 的类文件,即为XXX.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不用再重新JSP编译成Servlet。...JSP文件先要被服务器翻译成Java文件(Servlet),在tomcat中翻译后的Java文件在tomcat下的 work/Catalina /localhost 中相应名字的应用目录里。 2....-- … -->, 不会消失,在页面中也能看到 6, 一些静态内容 jsp中html内容称为模板元素,jsp模板元素定义了网页基本骨架,即定义了页面结构和外观。

    1.5K90

    JavaWeb(三)JSP概述

    3)tomcat运行class文件,并将结果输出到浏览器。    注意:     JSP页面内容主要包括两部分:     静态部分:标准的HTML标签、静态的页面内容。...网络服务器需要一个JSP引擎(Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和运行JSP页面。),也就是一个容器来处理JSP页面。...    所以速度就快多了,如果将Tomcat保存的JSP编译后的class文件删除,Tomcat也会重新编译JSP。...在开发Web程序的时候经常需要修改JSP,Tomcat能够自动检测到JSP程序的改动,如果检测到JSP源代码发生了改动,     Tomcat会在下次客户端请求JSP重新编译JSP,而不需要重启Tomcat...这也就是为什么我们能够在jsp页面直接修改内容,而不用重新启动服务器的原因。     因为JSP就是servlet,那么生命周期也就是跟serlvet一样。

    1.5K60

    JSP快速复习篇

    tomcat用户与权限 (3)lib目录:该目录主要用来存放tomcat运行需要加载的jar包 (4)logs目录:用来存放tomcat在运行过程中产生的日志信息 (5)temp目录:用来存放tomcat...在运行过程中产生的临时文件 (6)webapps目录:主要用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。...JSP动作标记语法 语法格式 param **当JSP页面运行时才将文件加载进来...页面请求的地址 Servlet的生命周期 (1)加载:当容器启动时,会加载 Web 应用程序中的所有 Servlet 类,并创建与其相应的 Servlet 实例。...(1)重定向访问服务器两次,转发只访问服务器一次 (2)转发页面的URL不会改变,而重定向地址会改变 (3)转发共用一个request请求,重定向则不会有 (4)...

    23630

    Spring Boot 最佳实践(二)集成Jsp与生产环境部署

    /main目录下创建目录webapp/WEB-INF/jsp用于存放jsp页面,如下图: ?...) jstl (JavaServer Pages Standard Tag Library,JSP标准标签库,用于程序中解析JSPtomcat-embed-jasper (内置tocat对Jsp支持的依赖...class HelloSpringBootApplication extends SpringBootServletInitializer{ /** * 重写configure方法,加载启动类...4.IDEA生成war文件 步骤一:修改生成jar为war格式 找到: jar 修改为: war 为什么需要修改jar包格式为war,因为如果打包为jar包的时候,不会包含JSP文件,所以访问的时候回...JSP页面,我们并不建议您应该立即抛弃它们,重新使用Thymeleaf,但是,如果您开始开发一个新项目,强烈鼓励您比较其他模板引擎和JSP,以确认哪一个更适合您。

    1.8K50

    Tomcat - 都说Tomcat违背了双亲委派机制,到底对不对?

    核心原理: 如果其中一个类加载器收到了类加载的请求,它并不会自己去加载而是会将该请求委托给父类的加载器去执行,如果父类加载器还存在父类加载器,则进一步向上委托,如此递归,请求最终到达顶层的启动类加载器。...web容器要支持jsp的修改, jsp 文件最终也是要编译成class文件才能在虚拟机中运行, web容器需要支持 jsp 修改后不用重启 ,就是热加载的功能。...第四个问题, 要怎么实现jsp文件的热加载呢? jsp 文件其实也就是class文件,那么如果修改了,但类名还是一样,类加载器会直接取方法区中已经存在的,修改后的jsp不会重新加载的。那么怎么办呢?...可以直接卸载掉这jsp文件的类加载器 .当一个jsp文件修改了,就直接卸载这个jsp加载器。重新创建类加载器,重新加载jsp文件。...jsp文件变化,如果变化了找到该jsp对应的servlet类的加载器引用(gcroot),重新生成新的JasperLoader加载器赋值给引用,然后加载新的jsp对应的servlet类,之前的那个加载器因为没有

    95430
    领券