【续帖】我的帖子无法回复是怎么回事?原贴【STRUTS 线程共享冲突】actionform中的数据似被共享了!
http://community.csdn.net/Expert/topic/3754/3754434.xml?temp=.1738703
我的这个帖子不能回复了.
各位版主能帮忙解决否?
******************************************************************************************
原贴:
【STRUTS 线程共享冲突】actionform中的数据似被共享了!救命啊~~~~~~~~
多人同时操作,有写文件的动作,在action中取到毫秒级的时间戳,然后生成临时文件名,从actionform中取数据输出到文件.
当两个人同时操作的时候问题出来了,生成了两个文件,但是里面的内容是一样的!!!
难道actionform是共享的!!!不大可能吧,那我的数据不都要混乱了!!!我会对struts失望的呀
大哥们救命啊,大概会是什么地方出错呢?搞不懂啊!
******************************************************************************************
后来发现是因为struts只为每个action类创建了一个实例,
【大家注意啦 struts只为每个action类创建了一个实例】
这样我用到的成员变量就是共享的了,所以出现文件写的时候数据混乱的情况.
但是现在有新问题出现,我在多个用户同时登陆时出错.
原来是考虑会不会因为conn被关闭,所以用了同步,(其实不用同步,conn也不会被关闭的.)应该可以肯定不是数据库的问题.
错误信息如下:
--------------------------------------------------------------------------------
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.ClassCastException
org.apache.struts.util.RequestUtils.getMultipartHandler(RequestUtils.java:1318)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1194)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.27
还请各位高手指教啊!