Struts
1、概述Struts,以及Struts如何实现MVC构架的?
答:struts framework是一种基于java技术,Web应用程序开发人员通过struts framework即可充分利用面向对象设计、代码重用以及“编写一次、到处运行”的优点。Struts提供了一种创建Web应用程序的框架,其中应用程序的显示、表示和数据的后端代码进行了抽象。Struts采用的jsp作为MVC的视图,由ActionServlet具体指定的action动作类作为控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的JAVA类进行相应的处理,控制器还指定下一个视图的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。
.2、Struts的处理流程:
[if !supportLists]1)[endif]控制器进行初始化工作,读取配置文件,为不同的Struts模块初始化相应的ModulConfig对象。
[if !supportLists]2)[endif]控制器接收Http请求,并从ActionConfig中找出对应于请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分至具体的Action类进行处理。
[if !supportLists]3)[endif]在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自己。还可以在ActionForm类中调用Validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。
[if !supportLists]4)[endif]执行具体的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个ActionForward对象,控制器通过该ActionForward对象进行转发工作。也可以把Action要处理的业务逻辑封装在javaBean中,如果系统中海油EJB,那么通过JavaBean调用EJB以完成业务逻辑,如果没有EJB,那么就直接在JavaBean中连接数据库,进行数据库相关操作。
3、Struts优点?
1)Struts是开源软件,使开发者能更深入的了解其内部实现机制。
2)Struts优点:业界标准,学习资源丰富。
3)Struts的优点主要集中体现在两个方面标签库和导航页面
a)使用Struts提供的标签库可以大大节约开发时间。
b)维护扩展比较方便,通过配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
4)表现与逻辑分离
5)表单验证解决了请求数据的验证问题,增强了系统健壮性。
6)便于团队发开
6.4、Struts缺点?
1)大量的使用标签,对于初学则难打较大
2)ActionForms使用不便,无法进行单元测试(StrutsTestCase只能用于集成)
[if !supportLists]6.[endif]5、Struts提供了几个标签库?
答:Struts提供五个标签库。即:HTML、Bean、Logic、Template和Nested
1)HTML标签: 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单2)Bean标签:在访问JavaBeans 及其属性,以及定义一个新的bean 时使用3)Logic标签:管理条件产生的输出和对象集产生的循环
4)Template标签:随着Tiles框架包的出现,此标记已开始减少使用5)Nested标签:增强对其他的Struts 标签的嵌套使用的能力