Struts入门.ppt
- 文档编号:1391551
- 上传时间:2022-10-22
- 格式:PPT
- 页数:28
- 大小:230.50KB
Struts入门.ppt
《Struts入门.ppt》由会员分享,可在线阅读,更多相关《Struts入门.ppt(28页珍藏版)》请在冰豆网上搜索。
Struts入门,课程简介,Struts课程完成一个使用Struts的项目JSF课程Spring课程完成一个JSF+Spring的项目Hibernate课程完成一个Struts/JSF+Spring+Hibernate的项目,关于Struts的课程体系,MVC与Struts框架简介开发视图扩展控制器开发模型配置Struts应用Struts验证与异常处理机制Struts应用的国际化Struts客户化标签的使用,本次课程,理解MVC架构理解Struts架构,理解MVC,关于MVCMVC是Model-view-Controller的简称,即:
模型-视图-控制器模型.它是一种设计模式.MVC是一种设计模式,它将应用程序划分为三个部分,即模型-视图-控制器,每个部分各自处理自己的程序.,MVC结构图,视图,视图是用户所见并与之交互的界面向用户显示相关的数据接收用户的输入不进行实际的业务处理视图可查询模型的状态,但是不能改变模型视图可接收模型状态更新的通知,从而对用户的界面进行更新.,模型,模型是应用程序的主体部分,表示业务数据和业务逻辑.一个模型可以为多个视图提供数据.由于应用程序的模型只需要写一次就可以被多个应用视图使用,应此可提高代码的可重用性.,控制器,控制器用于接收用户的请求,并调用模型和视图去完成用户的需求.当通过浏览器提交WEB表单时,控制器本身不做任何的输出和处理.控制器接受请求,并决定采用那一个模型去处理请求,然后决定调用那个视图显示模型处理返回的数据.,MVC处理过程,首先控制器接收到请求,并决定调用那个模型来进行处理.然后模型根据用户请求的数据执行相应的业务逻辑处理,并返回执行的结果.最后控制器调用相应的视图格式化输出返回的数据,并呈现给用户.,MVC的优点,一个模型可以被多个视图使用,大大的提高了代码的可重用性.由于MVC的三个模块相互独立,修改其中的一个模块对其它的模块影响很少,应此使用此种方法可以构建松藕合的软件构件.控制器可提高应用程序的灵活性和可配置性.通过控制器可以将多个模型和视图连接起来去完成一个特定的用户请求.,MVC的适应范围,由于MVC的内部结构复杂,使用MVC设计模式会带来额外的工作量,因此在使用之前你需要准确的衡量你的系统.MVC系统不适合小型的应用开发.对于存在大量的应用界面,并且业务逻辑复杂的应用系统,MVC结构将使你的系统在健壮性,可重用性和结构上上一个新的台阶.尽管在项目的初期需要花废一定的时间,但是从长远的角度看还是值得的.,JavaWeb应用结构的发展,阶段一:
JSP是一个独立的,自主完成所有任务的模块.阶段二:
JSPModel1JSP+JavaBean阶段三:
JSPModel2JSP+Servlet+JavaBean,JSP是一个独立的,自主完成所有任务的模块.,在一些早期的JavaWeb应用中,JSP文件同时负责生成网页,控制到下一个网页的流转,以及负责业务逻辑,这给Web开发带了一系开的问题业务逻辑与JSP代码偶合在一起,设计者既是页面设计者又是JAVA应用开发者.可读性差调试困难不利于维护,更改业务逻辑或数据可以牵涉到相关的更多的网页的更改.,JSP是一个独立的,自主完成所有任务的模块,Web浏览器,JSP,DB,请求,响应,获取数据,设置数据,JSPModel1JSP+JavaBean,JSPModel2JSP+Servlet+JavaBean,JSPModel2,JSP负责生成动态网页Servlet处理流程控制JavaBean处理业务逻辑处理,Struts概述,Struts实际上是在JSPModel2上实现的一个MVC的框架。
模型:
如JavaBeanEJB控制器:
ActionServletAction视图:
JSPStruts客户化标签,Struts概述,Struts框架API,前端控制器:
ActionServlet控制器:
Action模型:
ActionFormBean控制器与模型之间的映射:
ActionMapping转发:
ActionForward错误与信息处理:
ActionError,ActionFormBean,ActionFormBean它也是一种JavaBean,除了一些JavaBean的常规方法,另外它还包含一些特殊的方法用于验证其中数据的完整性。
Struts利用ActionFormBean来进行View组件与Controller组件之间表单数据的传递。
Struts框架把View组件接受的用户输入的表单数据保存在ActionFormbean之中,把它传递给Controller组件,Controller组件可以对ActionFormBean中的数据进行修改。
Jsp文件使用Struts标签读取修改后的ActionFormBean的信息,重新设置HTML表单。
ActionFormBean,Struts框架的初始化流程,对于采用Struts的Web应用,在Web应用启动时会加载并初始化控制器ActionServlet。
ActionServlet从struts-config.xml配置文件中读取配置信息,再把它们存放到ActionMappings对象中。
Struts框架响应客户请求的工作流程,ActionServlet,Action,BusinessLogic,用户请求,查找ActionMapping,建立AtionMapping,建立ActionForm,验证数据,执行,返回ActionForward,处理ActionForward,是否还有其它的ActionMapping,返回Response,返回错误,执行业务逻辑,没找到,验证失败,Struts框架响应客户请求的工作流程,ActionServlet在接收到用户请求时会检查对应的ActionMapping的实例是否存在,如果不存在则会创建一个ActionMapping的实例,其中包含了把请求转发至那个Action的信息。
ActionServlet会根据配置文件检查Action对应的ActionForm的实例,如果ActionForm的实例不存在,则会创建一个ActionForm的对象,并将客户提交的表单数据保存到ActionForm中。
ActionServlet在获取或建立ActionForm后,会根据配置是否需要验证来执行ActionForm的validate()方法进行验证。
如果ActionForm的validate方法返回一个null或一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功。
ActionServlet根据配置来确定将请求转发给那个Action,如果相应的Action实例不存在,就会先创建这个实例,然后调用它的execute方法。
Action的execute方法将返回一个ActionForward对象,ActionServlet再将请求转发给ActionForward中指向的JSP组件。
然后ActionForward中指向的JSP组件生成动态网页返回给用户。
Struts框架响应客户请求的工作流程,注:
在执行ActionForm的validate方法进行数据验证时,如果验证失败(即:
返回不为空,为一个ActionError或ActionErrors对象时),此时ActionServlet会直接将请求转发给包客户提交表单的JSP组件。
这种情况下,将不再创建Action对象并调用它的execute方法。
Struts应用Hello例程,系统根据用户输入的姓名显示,“欢迎:
XX登录。
”的信息。
系统将拒绝:
testuser的用户登录系统。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Struts 入门