was缓存导致web.xml更改无效

  在项目中经常遇见这样的问题:修改应用的配置文件web.xml后,无论重启应用还是重启WebSphere服务器,都不能重新加载web.xml,导致修改的内容无效。

  这个问题困扰了我好久,即使删除了${was安装目录}\IBM\WebSphere\AppServer\profiles\AppSrv01\下的temp和wstemp两个缓存文件夹下的临时文件,重启后还是无效。几经折腾,后来终于找到了问题所在——还是由于was的缓存机制导致的。

  找到${was安装目录}\AppServer\profiles\AppSrv01\config\cells\xxxNode01Cell\applications\${应用名}.ear\deployments\目录下,有一个与应用相同名称的缓存文件夹,删除或修改该文件夹的web.xml,重启was即可。

  

web.xml文件在websphere中会有两个地方存储

  一个websphere的问题,首先声明一下我对websphere的目录结构并不是很了解,如果了解它的目录结构也就不会犯下这样的错误:
我们做应用项目需要发布到websphere上,项目经理让我为应用整体作一个限制,要求是:当系统跑批时间不允许用户登录系统;于是我想了良久发现用过滤器来做最合适不过了。开始准备了,写好过滤器进行配置后发现我的过滤器怎么样不生效,这样我就又调整了一下过滤器的位置,发现过滤器生效和了,可以由于应用本身使用了struts2,这样我的过滤器添加在struts2的过滤器之前就会出现问题:如果我的过滤器生效就不会再经过struts2的过滤器,在返回到页面的时候就会报为经过struts2过滤器的错误。之后一段时间我没有什么办法了,再经过一段时间的思考之后,我决定修改struts2的过滤器,起始也不知道从什么地方下手,于是开始看struts2的源代码,发现可以对其分发器Dispatch进行修改:就是在分发器分发之前判断如果时间是在跑批时间就让它跳转到固定页面(登录页面),经过修改终于成功了。我的调试服务器是tomcat5.5没有什么问题,昨天我们发布到websphere上后发现也是能够正常运行的。晚上我欣喜地回到了住处,突然有个同事打电话给我说他修改了web.xml中的相关时间的配置信息重启服务器后配置信息并没有生效。

   今天早晨我开始寻找问题,发现不管怎么修改它确实不会生效,经过和同事讨论:想法是websphere应该有缓存目录,找找看还有没有其他地方对web.xml有存储。于是使用find命令找web.xml文件,突然屏幕上出现两个前缀和我们的应用名称相同的web.xml文件,一个是我们预先知道目录(../AppServer/profiles/AppSrv01/installedApps/loopbackNode01Cell/),另一个是(config/cells/loopbackNode01Cell/application/)目录,为了描述方便我把前面的目录名称叫目录一,将后面的目录名称叫目录二。经过反复测试发现只有修改了目录二下面的web.xml文件并重启服务器后应用才会生效,目录一中的配置文件并不起作用,至此问题就解决了。

转载地址:http://www.educity.cn/wenda/144522.html

was缓存以致web.xml更改无效的更多相关文章

  1. Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)

    JavaWebSpringTomcatCache  最近用到在Tomcat服务器启动时自动加载数据到缓存,这就需要创建一个自定义的缓存监听器并实现ServletContextListener接口,并且 ...

  2. Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(例如顺序:1、初始化spring容器,2、初始化线程池,3、加载业务代码,将数据库中数据加载到内存中)

    最近公司要做功能迁移,原来的后台使用的Netty,现在要迁移到在uap上,也就是说所有后台的代码不能通过netty写的加载顺序加载了. 问题就来了,怎样让迁移到tomcat的代码按照原来的加载顺序进行 ...

  3. 【Tomcat】Tomcat容器 web.xml详解

      Tomcat的安装目录下的conf目录下的web.xml文件有许多配置,例如: <init-param> <param-name>debug</param-name& ...

  4. websphere web.xml

    解决WAS更新web.xml文件不生效的问题(web_merged.xml是罪魁祸首)   问题原因分析 近日碰到更新web.xml文件到WAS服务器(WebSphere Application Se ...

  5. 解决WAS更新web.xml文件不生效的问题(web_merged.xml是罪魁祸首)

    问题原因分析 近日碰到更新web.xml文件到WAS服务器(WebSphere Application Server 8.5.5.3)后,不生效的问题. 网上找了一圈,基本都是说WAS缓存引起的. 手 ...

  6. web.xml中的ServletContextListener

    要想了解ServletContextListener,先看看web.xml中的<listener>配置. 一)web.xml中的内容载入顺序: 首先能够肯定的是,载入顺序与它们在 web. ...

  7. Tomcat容器 web.xml具体解释

    <init-param> <param-name>debug</param-name> <param-value>0</param-value&g ...

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

    问题及原因分析: 之前修复漏洞时,写了个过滤器配置在web.xml中,但是部署到服务器并重启后,重新扫描漏洞,还是没有解决对应问题.在确定了这种修复方案是切实可行之后分析,可能是配置的web.xml未 ...

  9. Spring web.xml详解

    web.xml文件是Java Web项目中的一个配置文件,主要用于配置欢迎页.Filter.Listener.Servlet等,但并不是必须的,一个Java Web项目没有web.xml文件也是照样能 ...

随机推荐

  1. java文件在没有安装jdk的windows下运行。

    1.首先该工程最好是gui的,使用swing或者awt的都行. 2.使用eclipse打包jar文件. 项目名字上面点右键,选择Export,在选择java\JAR file.    选择src文件夹 ...

  2. 【response-下载文件步骤】

    Java中都通用文件下载(ContentType.文件头.response.out四步骤) 1.设置文件ContentType类型 2.设置文件头 3.通过response获取ServletOutpu ...

  3. php中cookie的操作

    php设置和获取cookie 创建cookie setcookie('mycookie','value',time()+86400);//参数3 cookie过期时间//函数原型:int setcoo ...

  4. Entity Framework6 with Visual Studio 2013 update3 for Oracle 11g

    2014年7月的时候,写了一篇关于EF5 with visual studio 2010 for oracle 11g的博文 原文地址 :http://www.cnblogs.com/HouZhiHo ...

  5. Vue指令(四)--v-model

    1.v-model的使用场景 1.v-model的使用,用于表单控件的数据绑定 2.v-model与value共同使用,实现选项框的选中事件,两者相同时,选中 3.v-model 与v-bind:va ...

  6. jquery ajaxFileUpload异步上传文件

    ajaxFileUpload.js 很多同名的,因为做出来一个很容易. 我用的是这个:https://github.com/carlcarl/AjaxFileUpload 下载地址在这里:http:/ ...

  7. jquery echarts 饼状图

    var myChart = echarts.init(document.getElementById('myChart')); option = { title : { text: '某站点用户访问来 ...

  8. Oracle OCI操作UDT相关学习

    1.Oracle数据类型 Oracle的数据类型如下 字符串类型 char nchar varchar2 nvarchar2 数值类型 int number integer smallint 日期类型 ...

  9. 合理使用线程池 ThreadPool.QueueUserWorkItem()

    //==>自建线程 new Thread(() => { //线程任务 Console.WriteLine(Thread.CurrentThread.ManagedThreadId); } ...

  10. 全面理解Java内存模型(JMM)及volatile关键字(转)

    原文地址:全面理解Java内存模型(JMM)及volatile关键字 关联文章: 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型( ...