现网-更新jsp后,为什么有些服务器能拿到新页面,而有些服务器获取的是旧页面,为什么有些服务器什么事也不干隔断时间就自动能看新页面啦?

你需要懂的Tomcat-生成jsp的.class文件的原理,以及在生产环境配置需注意的点。

Jsp被编译的原理

在Tomcat中会有定时任务 拿jsp文件的时间戳和已编译的.class文件的时间戳 进行比较,两者的时间戳只要不同 就会再次编译。

jsp更新后未立马生效的原因分析

1) 更新Jsp 和 启动tomcat的权限不一致

如:jsp 和 work 同为 root权限,tomcat 启动为 test 权限

则当 jsp更新后,检查到文件有更新,但却没有权限删除老文件-生成新的文件,当页面访问时就会一直 访问到老的jsp页面。

tomcat会有告警:

WARNING [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.jasper.compiler.Compiler.removeGeneratedFiles Failed to delete generated Java file

**2) tomcat的web.xml 中 设置了 Jsp更新 检查时间**

在web.xml中设置了 checkInterval为600,则表示 1小时 检查一次JSP更新

development

false

checkInterval

600

3. Tomcat 的默认的jsp编译配置

Tomcat默认配置 为 development 模式,每隔4s 检查下 Jsp更新。

在研发时为了节

tomcat html文件修改后没生效,Tomcat-页面访问时新Jsp未生效相关推荐

  1. css文件修改后没变化 static_Go Web编程使用Go语言创建静态文件服务器

    上篇关于Go模板库应用实践的文章最后我们留下一个问题,页面模板是通过 CDN引用的 BootStrap的 css, js文件.到目前位置我们的服务器还无法伺服客户端的静态文件请求把服务器磁盘上的文件响 ...

  2. linux etc profile生效,让/etc/profile文件修改后立即生效

    满意答案 姗姗860411 2016.09.02 采纳率:53%    等级:10 已帮助:1968人 让/etc/profile文件修改后立即生效方法1: www.dnjsb.com 让/etc/p ...

  3. 昊鼎王五:centos7上如何使/etc/hosts文件修改后生效

    昊鼎王五:centos7上如何使/etc/hosts文件修改后生效 修改/etc/hosts修改保存之后理论上是立即生效的,也存在未生效的情况.这时的解决方案有: 1) 重启机器 2) 重启服务 Ce ...

  4. linux系统sudoers文件夹权限777以及/etc/profile文件修改后无法进入系统问题

    有位博友在我的另外一篇文章中留言,关于修改/etc文件夹权限为777导致/etc/sudoers文件夹权限修改为777后无法使用 "sudo"指令,关于这个问题打算与误操作/etc ...

  5. hosts文件修改后无法保存问题

    hosts文件在windows目录下的位置(我的是win10系统,其他系统大同小异) C:\Windows\system32\drivers\etc\hosts linux系统hosts位置 /etc ...

  6. 对已经存在Excel文件修改后保存时,会弹出一个询问对话框

    对已经存在Excel文件修改后保存时,会弹出一个询问对话框: ---------------------------       在当前位置发现已经存在名为"RESUME.XLW" ...

  7. Jsp文件修改后不生效怎么办?

      修改Jsp界面并保存,然而在浏览器里面却始终不生效,清缓存重启Tomcat都没用,网上搜了挺久,大多都是说缓存的问题,偶然看到有个前辈提了下文件修改时间的问题,由于某些原因,我确实把系统时间给改了 ...

  8. hosts文件修改后不生效

    电脑:win7 64位.最近做项目需要修改hosts文件来映射,可是修改后,hosts文件的映射并不生效.网上的方法试了好多,都不行. 比如:以ascII编码的形式保存hosts,修改注册表,关闭dn ...

  9. 为什么修改jsp不用重启tomcat,而修改servlet要重启tomcat

    虽然servlet和jsp本质都是servlet,运行时都是运行.class文件,但是它们的部署方式不一样. servlet是先编译后部署,修改完以后,MyEclipse进行编译,然后部署.class ...

最新文章

  1. electron 改变窗体 大小_8个瑜伽常见体式变体,小改变,大不同!
  2. SharePoint 2013 APP 开发示例 (三)使用远程的web资源
  3. MR21 VS MR22 对CKMLCP结果影响
  4. 计算机网络总结:第二章 应用层
  5. ajax参数中字符串最大长度_6.7 C++数组名作函数参数 | 求3*4矩阵中最大的值
  6. execl用宏查询mysql_关于EXCEL能否用宏直接连到oracle数据库然后取数据
  7. 领域驱动设计,让程序员心中有码(二)
  8. apollo 配置中心_Spring Cloud 系列之 Apollo 配置中心(三)
  9. VS2008 Qt Designer 中自定义信号槽
  10. 文件的读取与写入--ASP.NET中常用代码之四(转载)
  11. 制作 Eset Nod32 离线升级包
  12. 关于WINDOWS超级终端的使用来调试MODEM 串口
  13. 步进电机正反转实验_电机正反转控制电路图原理图解
  14. linux终端ANSI转义字符
  15. X-Frame-Options简介
  16. Arduino 编译出错:Pixy2I2C.h: No such file or directory
  17. 如何使用PS的蒙版,调整局部的对比度
  18. V语言04语句表达式
  19. C语言绝对值宏的陷阱
  20. 斗地主算法的设计与实现 五 --洗牌和发牌

热门文章

  1. (五)改掉这些坏习惯,还怕写不出精简的代码?
  2. 李宏毅机器学习作业10——Adversarial Attack,FGSM,IFGSM
  3. 如何查看python安装位置图_如何查看pymysql 安装成功
  4. css关于width和height的计算方式
  5. Unity 获取本地国家和语言
  6. 6-8 连接字符串 (15 分)
  7. linux升级mysql
  8. 2020年总结---不要因为走的太远,而忘记当初,为什么出发
  9. Docker 实战系列之 SRS 流媒体服务器
  10. 高新技术企业认定审计报告常见的错误有哪些?