优点:
Struts是开源软件,使开发者能更深入的了解其内部实现机制。
轻量,需要关注的Struts类只有几个;
模型中立,不倾向于哪个特定的持久层;
高度兼容;
可扩展性强,所有的默认的设置都可以配置,核心Struts可以重写,子类化,开发人员可以定制关键类,如ActionForm和Action;
利用Struts提供的taglib可以大大节约开发时间。
除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
关于页面导航,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
缺点:
Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。
没有事件模型,跟HTTP请求响应模型紧密结合,不能更好地处理事件。单一的ActionServlet,Action的perform()和execute()只接受单个ActionForm参数。
Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。