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. 把更新完的兩個文件,復制到配置緩存目錄下(config\cells\<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配置之后,漏洞問題也徹底解決了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM