现在接手的项目是一个早期的struts1框架的项目。同时也是刚开始接触web 以及struts1架构。
在处理多个action时,有一个tab子页面需要每5s自动刷新一次。
然后在测试过程中发现,点击另一个tab子页面去request数据时返回的却是5s刷新页面的数据。
那么问题来了。。
首先是session 及 request的生命周期 ,然后是请求的独立性。明白这两点,问题就迎刃而解了
session是会话,生命周期是针对的是一个客户端。
request及reponse,生命周期是针对的一次请求,更重要的每次请求是独立的。
也就是说在处理请求的service类中不要多个函数使用局部变量的情况出现。
我的问题就是在多个service函数*用了一个xmlUtil变量。
当把该变量修改为函数局部变量后问题就解决了。
这也是struts2相比struct1进步的一个原因,据说是线程安全性更高,当然该点还有待实际中的证明。