|
|
对于一个比较大型的项目采用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来说压力又增加了,性能问题越发明显.
![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) ![[:o]](/faces/22.gif) |
|