Struts原理初学.ppt

上传人:牧羊曲112 文档编号:6521454 上传时间:2023-11-08 格式:PPT 页数:35 大小:3.39MB
返回 下载 相关 举报
Struts原理初学.ppt_第1页
第1页 / 共35页
Struts原理初学.ppt_第2页
第2页 / 共35页
Struts原理初学.ppt_第3页
第3页 / 共35页
Struts原理初学.ppt_第4页
第4页 / 共35页
Struts原理初学.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《Struts原理初学.ppt》由会员分享,可在线阅读,更多相关《Struts原理初学.ppt(35页珍藏版)》请在三一办公上搜索。

1、第二章,Struts原理(一),回顾,为什么要使用框架?说出三个流行的Java框架。什么是MVC?MVC有什么用?Struts框架有什么用?,预习检查,如何在web.xml中配置Struts?Struts默认的配置文件名是什么?Struts中有哪几类组件?,本章任务,使用Struts框架实现:加法器发布房屋信息,理解Struts框架的工作原理掌握使用Struts框架开发Web应用的基本步骤熟悉MyEclipse对Struts开发的支持,本章目标,Web框架事实标准,:Web框架的事实标准,Java EE主流技术趋势图,主流 Web 框架趋势图,http:/struts.apache.org,使

2、用Struts实现加法器,使用 开发的4个步骤 给项目添加Struts支持实现业务类 添加Struts组件1、ActionForm2、Action3、添加jsp页面4、配置struts-config.xml调试运行,完成的项目,1,2,3,4,新建Web项目,使用Struts实现加法器,给项目添加Struts支持,点选 MyEclipse Add Struts Capabilities,添加Struts支持,1,在项目节点上单击右键,使用Struts实现加法器,给项目添加Struts支持,添加Struts支持后的项目,增加了:Struts JAR 包struts-config.xmlStrut

3、s标签库修改了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对应的J

4、ava类,设置Forwards属性用于配置转发的JSP页面,3,使用Struts实现加法器,添加Struts组件,2、Action-编写Action代码,public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)Calculator calc=new Calculator();/获得ActionForm的引用AddForm addForm=(AddForm)form;double model=calc.add

5、(Double.parseDouble(addForm.getFirstNumber(),Double.parseDouble(addForm.getSecondNumber();/将计算结果存储到request中request.setAttribute(sum,model);/将请求转发到result出口指向的页面return mapping.findForward(result);,y2ssh.sg.chp2.AddAction.java,从ActionForm中即可获得表单提交的参数,通过逻辑名引用页面逻辑名和页面对应关系在struts-config.xml中配置,3,使用Struts实

6、现加法器,添加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开发步

7、骤是什么?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业务逻辑方法,视

8、图,模型,控制器,Struts原理,Struts Web应用运行过程,控制器组件: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、通过请求路

9、径查找Struts-config.xml中Action的配置,找到并调用对应的Action,Controller(控制器),Model(模型),View(视图),查找ActionMapping,找到正确的JSP页面,并转发,Struts MVC小结,控制器组件ActionServlet由Struts提供:org.apache.struts.action.ActionServlet是一个Servlet,需要在web.xml中配置AddAction-Action Bean封装一类客户操作继承自org.apache.struts.action.Action,实现execute方法需要在struts-

10、config.xml中配置,public class AddAction extends Action public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)/TODO:在这里添加代码return mapping.findForward(result);,Struts MVC小结,视图组件ActionForm-Form Bean封装页面提交的数据继承自org.apache.struts.action.Ac

11、tionForm 需要在struts-config.xml中配置与JSP的交互-从页面获得输入-发送数据到页面其他视图组件:JSP、JSTL、EL、自定义标签第4章介绍Struts标签,addForm.getFirstNumber();,request.setAttribute(data,data);,Struts MVC小结,模型组件Struts对模型组件的实现没有任何限制一般为:UserBiz接口、UserBizImpl类、UserDAO接口、UserDAOJdbcImpl类。struts-config.xml配置Form Bean和Action Bean服务器启动时,Struts装载st

12、ruts-config.xml信息,小结,Struts是如何实现MVC的?,Struts深度历险,Struts执行顺序在AddForm和AddAction中增加调试代码运行程序查看控制台输出,ActionServlet调用AddForm的setter方法,然后调用AddAction的execute方法,最后页面将Form中的值显示出来,Struts深度历险,ActionForm和ActionMapping中有什么?Action中execute方法的参数列表设置断点,观察变量,public ActionForward execute(ActionMapping mapping,ActionFor

13、m form,HttpServletRequest request,HttpServletResponse response),AddAction.java,通过在excute方法中设置断点、观察变量,可以帮我们解决很多使用Struts中出现的问题,小结,结合下图,说说Struts的运行过程。,使用Struts开发“发布出租信息”,使用Struts开发“发布房屋信息”功能模型(Model)组件典型的三层结构面向接口编程开发顺序:DAO BizForm BeanJSPAction Beanstruts-config.xml调试,使用Struts开发“发布出租信息”,业务流程,1、如果未登录,转到

14、login2、如果isConfirmed为false,转到confirm;否则,保存数据,转到userlist3、如果出错,转到error,使用Struts开发“发布出租信息”,实现代码,public ActionForward execute(.)/如果没有登录,转发到登录页面 HttpSession session=request.getSession(false);USER user=null;if(session!=null)user=(USER)session.getAttribute(user);if(user=null)return mapping.findForward(log

15、in);/如果还没有确认,转到确认页面 String confirm=request.getParameter(confirm);if(null=confirm|!yes.equals(confirm)return mapping.findForward(confirm);/调用业务逻辑方法,插入数据到数据库 tryFwxxForm fwxxForm=(FwxxForm)form;FWXX fwxx=new FWXX();fwxx.setTitle(fwxxForm.getTitle();.biz.post(fwxx);request.setAttribute(msg,发布成功!);retur

16、n mapping.findForward(index);catch(Exception e)request.setAttribute(msg,出错啦:+e.getMessage();return mapping.findForward(error);,PostAction.java,使用Struts开发“发布出租信息”,配置文件,演示示例:使用Struts开发“发布出租信息”功能,总结,如何使用Struts开发登录功能?Action组件的作用是什么?ActionForm组件的作用是什么?struts-config.xml中都配置了哪些信息?回忆Struts架构图,讲述Struts是如何实现MVC模式的?,作业,课后作业必做教员备课时在此添加内容选做教员备课时在此添加内容提交时间:xxx提交形式:xxx预习作业背诵英文单词教员备课时在此添加内容,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号