Struts2 action 并发访问线程安全问题

SidelightofLife 2010-03-11

本人最近二年一直在用struts2,对struts2的安全问题一直没多大关心,认为一个大家可以公认的框架,应该不会出现大的安全问题,自己考虑到的东西,别人估计已经考虑到了。为了自己用的踏实就做了一次小小的测试。可能我的这次测试没测试到要点,还喜欢大家多提意见,小弟在这里先说一声谢谢了。

测试目的:测试struts2同一个action连续2次请求是否线程安全

测试内容:第一:写一个线程

publicclassTestimplementsRunnable{

publicvoidrun(){

}

}

第二:写一个action

Stringname="cccc";

Stringstr="";

//str的getset方法略

publicStringtest()throwsException

{

Testt=newTest();

name=str+name;

if(b.getName().equals("dd")){

Thread.sleep(10000);

}else

{

Thread.sleep(10000*3);

}

t.run();

}

第三:页面:

<s:formaction="taction!test.action"method="post">

<s:textfieldname="str"label="名称"></s:textfield>

<s:submitvalue="提交"></s:submit>

</s:form>

struts配置文件略

第四:显示页面

${name}

测试操作过程:在同一个action请求下先输入“MMM”立刻输入“dd”

测试预想错误结果:ddMMccMMcc

测试理想结果:ddcccMMccc

测试最终结果:ddcccMMccc

得出结论:struts2每次请求action是重新开启一个线程进行处理但是我不能下结论是否线程安全。。希望大家做处更详细的解释,但是在我们B/S结构中大家可以放心用struts2.不必过多考虑线程安全问题

以上完全是个人观点。。。希望大家别拍砖这是我的第一篇博客

相关推荐

sunh / 0评论 2013-06-19