Struts入门PPT格式课件下载.ppt
《Struts入门PPT格式课件下载.ppt》由会员分享,可在线阅读,更多相关《Struts入门PPT格式课件下载.ppt(28页珍藏版)》请在冰豆网上搜索。
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的用户登录系统。