• WAS更新web.xml配置文件不生效的问题


    问题及原因分析:

      之前修复漏洞时,写了个过滤器配置在web.xml中,但是部署到服务器并重启后,重新扫描漏洞,还是没有解决对应问题。在确定了这种修复方案是切实可行之后分析,可能是配置的web.xml未生效,搜索网上对应问题及检查部署过程发现,部署完后应用目录WEB-INF下会新增很多文件,其中有个web_merged.xml文件(如下图)。

      该文件包含了web.xml文件中的内容,不过是旧的配置文件的配置内容,可以理解为是web.xml文件的缓存文件,且大部分时候,即使重新部署了web.xml文件后,项目实际使用的还是这个web_merged.xml文件的配置内容。

    解决方案:

      找到了问题的原因之后一切就好办了,下面就是解决方案

      • 方案一
        1. 更新web.xml的同时,把改动也更新到web_merged.xml
        2. 把更新完的两个文件,复制到配置缓存目录下(configcells<cell_name>applications<ear_name>deployments<app_name><war_name>WEB-INF)。
        3. 最后,你需要重启一下WAS服务。
      • 方案二
        使用WAS的web控制台进行更新web.xml文件(登陆控制台,选择程序后点击“更新”,选择“替换或添加单个文件 ”,然后参考下图)。
        WAS会自动把更改同步到web_merged.xml以及缓存目录下。(相当于WAS帮你进行了方法一的操作)
        使用这个方法,你甚至都不需要重启WAS,也不需要重启应用。

      最后,在解决了该文件的缓存问题使用了最新的web.xml配置之后,漏洞问题也彻底解决了。

  • 相关阅读:
    eclipse配置Tomcat The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    解决掉你心中 js function与Function的关系的疑问
    英语 one day
    合并两个有序链表
    有效的括号
    探讨前后端分离
    菜鸡发现腾讯视频bug
    最长公共前缀
    字符串转整数
    回文数
  • 原文地址:https://www.cnblogs.com/meInfo/p/10473844.html
Copyright © 2020-2023  润新知