关于Struts的性能怀疑
对于一个比较大型的项目采用Struts是否可取?
首先
1.actionservlet,如果使用Struts自身提供的Actionservlet的话,
是多个模块共用一个呢,还是对于不同的模块只是配置文件不同(moduleConfig)使用同一个ActionServlet呢?如果是对于不同的ActionServlet之间好像没有办法跳转.同一个ActionServlet会不
会造成瓶颈?(大量的访问堆积在ActionServlet层面,即使系统生
成了很多实例也恐怕不能够满足并发量400以上的访问?)
2.FormBean,FormBean的传递通常是通过request或者Session或者
context来进行的,这三种事实上都是存放一个映射关系,然后取出
来,都会涉及到对象的类型转换.这种转换在大量的并发操作下,会
造成资源的开销很大(从cpu和内存上面可以看得出来这种消耗,很
多内存不能及时回收..造成服务器的内存占用率斜线上升)
3.Action类的不灵活性.使用Action的时候如果不使用DispatchAction
的话,只能对应一个动作(submit)就需要一个Action类来对应处
理,这样子对于开发来说简直是一种灾难,拥有无数的只有一个
方法的类?同样的事情发生在FormBean上面.对于FormBean的DynaValidatorForm并不能真正解决问题,因为类型转换仍然频
繁发生.
4.严格按照Struts的规范而言是不是意味着两个jsp之间的所有通信(不包
括纯链接,带参数的在此范围内)都是通过ActionServlet和Action来发生
的?如果是的话,又会无端多出很多ForwardAction,虽然不需要手写,对于
ActionServlet来说压力又增加了,性能问题越发明显.
当然,以上只是一些个人意见,可能很多地方没有考虑得很清楚,希望大家一
起讨论讨论?