求助:websphere4方面的一些问题:疯狂刷新导致页面出错,struts页面跳转时目标路径多出一重跟路径

04-01-08 ninsky
各位,偶在使用websphere做服务器开发一套web应用时,发现若干比较莫名其妙的问题,列举如下,希望各位不吝赐教:
1. 疯狂刷新导致页面出错:
在页面打开后,按住F5,强迫该页面不断刷新,不一会,页面就会出现错误,在出错页面上查看该页属性,经常可以发现其地址变成http://..../abc.jsp?aa=t<html><title></title>...的样式。或是左右栏的页面信息混合到了一起。而这种情况在tomcat4.1.27上几乎没有出现过。

2. 本套系统中使用了struts框架,开发过程中使用的是tomcat4.1.27,一切正常,可是转移到was4下之后,调整情况就出现了问题。
在was下安装系统时,首先将系统打包成war包形式,然后通过was的管理界面安装,指定的上下文跟为:/abc,在struts-config.xml中相应的部分的action中指定跳转的forward,如:<forward ...path="/def.jsp">,根据需要,其应该跳转的地址为:http://../abc/def.jsp,可实际跳转的页面为:http://.../abc/abc/def.jsp,也就是说上下文跟出现了两次,显然会出现跳转错误,可问题却不知该如何解决

本套系统采用的左右分栏形式,分栏没有使用frame,而是在表格里嵌入了iframe,如此操作,主要是为了避免原有的菜单被frame遮盖的问题,左栏使用的是树状结构,该树状结构组件非常复杂,每一节点都可以动态load下一级节点,从而避免了大量数据生成树型的效率问题。

上述问题及背景相信我已交待清楚,希望各位能帮忙多出主意,现在时间实在紧迫,若问题没有解决,后果将会颇为严重。还请各位救小弟于水火啊!!!

daquan198163
2004-01-09 10:00
第二个问题俺也遇到了,呵呵帮你顶!!!!

banq
2004-01-09 14:59
估计是websphere问题,我个人从来不盲目相信这些所谓的商业J2EE服务器。

banq
2004-01-09 16:14
另外,由于websphere比较耗费内存,有可能你的程序有内存泄漏问题,导致内存快速爆满崩溃。

moon3000
2004-01-09 18:03
回答:

1、我也做了一系统 在 AIX+WAS5 上。开了搂主的贴子后,我测试系统连按F5 40下,没有问题。至于你的问题我无法解释。猜可能是系统配置相关吧。
2、因为你的forward的URL的相对路径不正确。你应该写为:URL="../abc/def.jsp" 或用绝对路径 URL="/abc/def.jsp";
就这样了,希望对你有用。

ninsky
2004-01-09 22:01
在一个同事的帮助下,那个页面跳转的问题已经解决,解决的方式让人难以置信:把<forward...>中的redirect=true去掉即可,ft,由于初次使用was开发,不知道was居然对于此种跳转方式还有这样的问题。
如果你用一般的sendRedirect的话,还是采用相对路径吧,至于struts中forward处,就不要再添一个redirect=true了(唉,本来打算隐藏点东西的,晕倒)

至于那个刷新问题,据csdn的一个网友说,ibm的人对此也很。。。汗
具体回复见那个帖子:http://expert.csdn.net/Expert/topic/2646/2646701.xml?temp=.7351953

ninsky
2004-01-09 22:06
banq,我也不迷信啊,可客户迷信,ibm及其喽财疵敕ㄈ每突嘈牛馀季兔徽辛

不过想想,给客户用些开源的服务器,确实也不太现实,像我喜欢的tomcat,上几十个人就完蛋了(我没测过,有同事测过,不过哪个版本的就不清楚了),不知道其它的怎样啊

ninsky
2004-01-09 22:08
moon3000,was5怎样我不太清楚,我个人用的pc上装了一个,不过,我不打算将来在我自己的机器上再运行它了:(

如果你用4的话,可以拿个转头压着f5,睡一觉之后再回来看看:)
这样可能确实有点变态,呵呵

dragon_jdh
2004-01-10 14:05
在 程序中用一个同步令牌吧,当重复提交时不予理睬就行了,具体请参考《j2ee core pattern》,同步令牌就是专门用于解决重复刷新的问题的。既然你又不可能让用户换应用服务器或者增加内存等。。。。。。

yatwql
2004-01-11 00:37
我们用websphere 4.03做开发的,问题虽然多.楼主所谈的情况1暂时没有遇到过

猜你喜欢