《Struts原理初学》PPT课件.ppt_第1页
《Struts原理初学》PPT课件.ppt_第2页
《Struts原理初学》PPT课件.ppt_第3页
《Struts原理初学》PPT课件.ppt_第4页
《Struts原理初学》PPT课件.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章,Struts原理(一),回顾,为什么要使用框架?说出三个流行的Java框架。什么是MVC?MVC有什么用?Struts框架有什么用?,预习检查,如何在web.xml中配置Struts?Struts默认的配置文件名是什么?Struts中有哪几类组件?,本章任务,使用Struts框架实现:加法器发布房屋信息,理解Struts框架的工作原理掌握使用Struts框架开发Web应用的基本步骤熟悉MyEclipse对Struts开发的支持,本章目标,Web框架事实标准,:Web框架的事实标准,JavaEE主流技术趋势图,主流Web框架趋势图,,使用Struts实现加法器,使用开发的4个步骤给项目添加Struts支持实现业务类添加Struts组件1、ActionForm2、Action3、添加jsp页面4、配置struts-config.xml调试运行,完成的项目,1,2,3,4,新建Web项目,使用Struts实现加法器,给项目添加Struts支持,点选MyEclipseAddStrutsCapabilities,添加Struts支持,1,在项目节点上单击右键,使用Struts实现加法器,给项目添加Struts支持,添加Struts支持后的项目,增加了:StrutsJAR包struts-config.xmlStruts标签库修改了web.xml,添加Struts支持前的项目,Struts是基于Servlet技术实现的框架,可以配置Struts配置文件的文件名,支持多个配置文件,拦截所有以“.do”结尾的请求,1,使用Struts实现加法器,实现业务类(模型-Model),2,使用Struts实现加法器,添加Struts组件,1、ActionForm,3,单击Add,给Form增加属性。,3,使用Struts实现加法器,添加Struts组件,2、Action配置Action属性,设置Path属性即访问该Action的路径,设置Form属性将Form和Action关联,设置Type属性即Action对应的Java类,设置Forwards属性用于配置转发的JSP页面,3,使用Struts实现加法器,添加Struts组件,2、Action-编写Action代码,publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)Calculatorcalc=newCalculator();/获得ActionForm的引用AddFormaddForm=(AddForm)form;doublemodel=calc.add(Double.parseDouble(addForm.getFirstNumber(),Double.parseDouble(addForm.getSecondNumber();/将计算结果存储到request中request.setAttribute(sum,model);/将请求转发到result出口指向的页面returnmapping.findForward(result);,y2ssh.sg.chp2.AddAction.java,从ActionForm中即可获得表单提交的参数,通过逻辑名引用页面逻辑名和页面对应关系在struts-config.xml中配置,3,使用Struts实现加法器,添加Struts组件,3.添加JSP页面根据Action的Forwords属性的设置,添加add.jsp和add_result.jsp两个页面,采用Struts提供的html:form标签,对应前面Action的path属性,对应前面Form的属性名,ActionForm保存在request或session中,3,使用Struts实现加法器,添加Struts组件,4、配置struts-config.xml,3,使用Struts实现加法器,调试运行,3,演示示例:基于Struts实现加法器,小结,使用Struts开发加法器过程中使用了哪些Struts组件?使用Struts开发步骤是什么?1、添加Struts支持2、开发业务逻辑类(模型,Model)3、开发ActionForm组件(视图组件,View)4、开发Action组件(控制组件,Controller)5、开发JSP页面6、修改配置文件struts-config.xml,配置ActionForm和Action7、调试运行,ActionForm组件,Action组件,Struts原理,回顾Servlet+JSP+JavaBean的编程模型,数据库,Servlet,JaveBean,JSP,Struts原理,自定义框架原理,ControllerServlet,AddAction,Calculator业务逻辑方法,视图,模型,控制器,Struts原理,StrutsWeb应用运行过程,控制器组件:ActionServlet,视图组件:JSP,模型组件:PostBiz,数据库,控制器组件:PostAction,控制器组件:AddAction,模型组件:PostDAO,视图组件:JSP,Struts原理,Struts原理,ActionServlet,JSP,JavaBean,数据库,AddAction,AddForm,ActionMapping,1,2,3,4,5,6,开发时只需关注:两个核心组件:ActionFormAddAction一个配置文件,1、页面提交的数据封装到ActionForm中2、通过请求路径查找Struts-config.xml中Action的配置,找到并调用对应的Action,Controller(控制器),Model(模型),View(视图),查找ActionMapping,找到正确的JSP页面,并转发,StrutsMVC小结,控制器组件ActionServlet由Struts提供:org.apache.struts.action.ActionServlet是一个Servlet,需要在web.xml中配置AddAction-ActionBean封装一类客户操作继承自org.apache.struts.action.Action,实现execute方法需要在struts-config.xml中配置,publicclassAddActionextendsActionpublicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)/TODO:在这里添加代码returnmapping.findForward(result);,StrutsMVC小结,视图组件ActionForm-FormBean封装页面提交的数据继承自org.apache.struts.action.ActionForm需要在struts-config.xml中配置与JSP的交互-从页面获得输入-发送数据到页面其他视图组件:JSP、JSTL、EL、自定义标签第4章介绍Struts标签,addForm.getFirstNumber();,request.setAttribute(data,data);,StrutsMVC小结,模型组件Struts对模型组件的实现没有任何限制一般为:UserBiz接口、UserBizImpl类、UserDAO接口、UserDAOJdbcImpl类。struts-config.xml配置FormBean和ActionBean服务器启动时,Struts装载struts-config.xml信息,小结,Struts是如何实现MVC的?,Struts深度历险,Struts执行顺序在AddForm和AddAction中增加调试代码运行程序查看控制台输出,ActionServlet调用AddForm的setter方法,然后调用AddAction的execute方法,最后页面将Form中的值显示出来,Struts深度历险,ActionForm和ActionMapping中有什么?Action中execute方法的参数列表设置断点,观察变量,publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse),AddAction.java,通过在excute方法中设置断点、观察变量,可以帮我们解决很多使用Struts中出现的问题,小结,结合下图,说说Struts的运行过程。,使用Struts开发“发布出租信息”,使用Struts开发“发布房屋信息”功能模型(Model)组件典型的三层结构面向接口编程开发顺序:DAOBizFormBeanJSPActionBeanstruts-config.xml调试,使用Struts开发“发布出租信息”,业务流程,1、如果未登录,转到login2、如果isConfirmed为false,转到confirm;否则,保存数据,转到userlist3、如果出错,转到error,使用Struts开发“发布出租信息”,实现代码,publicActionForwardexecute(.)/如果没有登录,转发到登录页面HttpSessionsession=request.getSession(false);USERuser=null;if(session!=null)user=(USER)session.getAttribute(user);if(user=null)returnmapping.findForward(login);/如果还没有确认,转到确认页面Stringconfirm=request.getParameter(confirm);if(null=confirm|!yes.equals(confirm)returnmapping.findForward(confirm);/调用业务逻辑方法,插入数据到数据库tryFwxxFormfwxxForm=(FwxxForm)form;FWXXfwxx=newFWXX();fwxx.setTitle(fwxxForm.getTitle();.biz.post(fwxx);request.setAttribute(msg,发布成功!);returnmapping.findForward(index);catch(Exceptione)request.setAttribute(msg,出错啦:+e.getMessage();returnmapping.findForward(error);,PostAction.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论