一、Struts的基本概念
简单来说,Struts就是在JSP Model2的基础上实现的一个MVC框架。Struts为Java Web应用提供现成的通用框架,可以大大提高Web应用的开发效率。
JSP Model1和JSP Model 2:两者分别是SUN公司先后制定的两种规范。在Model1种,JSP即负责业务流程控制,又负责提供表示层数据,同时充当试图和控制器,这样导致维护十分困难。从本质上将,这将导致角色职责混乱,不便于管理。Model2使用JSP+Servlet技术来提供动态页面的服务,Servlet充当控制器,处理用户请求、返回页面等;而JSP就只管视图层的现实,这样职责的分工十分的明确。
MVC:是一种设计理念,它把应用程序分成三个核心模块:模型、视图、控制器。视图:对用户显示相关数据,并接收用户提交的数据,但并不进行任何业务处理;模型:应用程序的主体,表示业务数据和业务逻辑,为视图层的数据提供来源;控制器,调用模型层处理业务,并调用相应视图显示数据,起到中央控制的作用。
二、Struts实现的MVC:
在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组成,控制器由ActionServlet和Acton来实现,视图由JSP来构成。下图为Struts实现的MVC框架示意图:
1.视图:就是一组JSP文件,无业务逻辑、无模型信息,只有标签,值得注意的是ActionFormBean通常也被划分到视图模块中,它也是一种JavaBean,Struts中使用它来进行视图和控制器之间表单数据的传递。
2.模型:表示应用程序的状态和业务逻辑。
3.由ActionServlet和Action来实现,Struts中的核心组件,ActionServlet主要负责接收HTTP请求信息,并根据读取配置文件struts-config.xml,把请求转发给相应的Action;Action负责调用模型层的业务方法,并控制流程,它本身也可实现一些业务逻辑。
三、Struts的工作流程
四、一个简单的Struts应用
做一个登陆系统,用户输入数据,如果没有输入数据或输入错误数据,将返回错误页面并向用户提示出错信息,如果输入的信息与数据库中的信息向匹配,即返回登陆成功页面信息。
未完待续。。。