4-struts1原理.ppt_第1页
4-struts1原理.ppt_第2页
4-struts1原理.ppt_第3页
4-struts1原理.ppt_第4页
4-struts1原理.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、Struts1原理(一),本章任务,使用Struts框架实现: 加法器 发布房屋信息,理解Struts框架的工作原理 掌握使用Struts框架开发Web应用的基本步骤 熟悉MyEclipse对Struts开发的支持,本章目标,使用Struts实现加法器,使用 开发的4个步骤 给项目添加Struts支持 实现业务类 添加Struts组件 1、ActionForm 2、Action 3、添加jsp页面 4、配置struts-config.xml 调试运行,完成的项目,1,2,3,4,新建Web项目,使用Struts实现加法器,给项目添加Struts支持,点选 MyEclipse Add Strut

2、s Capabilities,添加Struts支持,1,在项目节点上单击右键,使用Struts实现加法器,给项目添加Struts支持,添加Struts支持后的项目,增加了: Struts JAR 包 struts-config.xml Struts标签库 修改了web.xml,添加Struts支持前的项目,Struts是基于Servlet技术实现的框架,可以配置Struts配置文件的文件名,支持多个配置文件,拦截所有以“.do”结尾的请求,1,使用Struts实现加法器,实现业务类(模型 - Model),2,使用Struts实现加法器,添加Struts组件,1、ActionForm,3,单击

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代码,public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req

4、uest, HttpServletResponse response ) Calculator calc = new Calculator(); /获得ActionForm的引用 AddForm addForm = (AddForm) form; double model = calc.add( Double.parseDouble(addForm.getFirstNumber(),Double.parseDouble(addForm.getSecondNumber() ); /将计算结果存储到request中 request.setAttribute(sum, model); /将请求转发到

5、result出口指向的页面 return mapping.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 的属性名,Act

6、ionForm保存在request或session中,3,使用Struts实现加法器,添加Struts组件,4、配置struts-config.xml,3,使用Struts实现加法器,调试运行,3,小结,使用Struts开发加法器过程中使用了哪些Struts组件? 使用Struts开发步骤是什么? 1、添加Struts支持 2、开发业务逻辑类(模型,Model) 3、开发ActionForm组件(视图组件,View) 4、开发Action组件(控制组件,Controller) 5、开发JSP页面 6、修改配置文件struts-config.xml,配置ActionForm和Action 7、调

7、试运行,ActionForm组件,Action组件,Struts原理,回顾Servlet+JSP+JavaBean的编程模型,数据库,Servlet,JaveBean,JSP,Struts原理,自定义框架原理,Controller Servlet,AddAction,Calculator 业务逻辑方法,视图,模型,控制器,Struts原理,Struts Web应用运行过程,控制器组件: ActionServlet,视图组件: JSP,模型组件: PostBiz,数据库,控制器组件: PostAction,控制器组件: AddAction,模型组件: PostDAO,视图组件: JSP,Stru

8、ts原理,Struts原理,ActionServlet,JSP,JavaBean,数据库,AddAction,AddForm, ActionMapping,1,2,3,4,5,6,开发时只需关注: 两个核心组件: ActionForm AddAction 一个配置文件,1、页面提交的数据封装到ActionForm中 2、通过请求路径查找Struts-config.xml中Action的配置,找到并调用对应的Action,Controller (控制器),Model(模型),View(视图),查找ActionMapping,找到正确的JSP页面,并转发,Struts MVC小结,控制器组件 Ac

9、tionServlet 由Struts提供:org.apache.struts.action.ActionServlet 是一个Servlet,需要在web.xml中配置 AddAction - Action Bean 封装一类客户操作 继承自org.apache.struts.action.Action,实现execute方法 需要在struts-config.xml中配置,public class AddAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form, Htt

10、pServletRequest request, HttpServletResponse response) / TODO: 在这里添加代码 return mapping.findForward(result); ,Struts MVC小结,视图组件 ActionForm - Form Bean 封装页面提交的数据 继承自org.apache.struts.action.ActionForm 需要在struts-config.xml中配置 与JSP的交互 - 从页面获得输入 - 发送数据到页面 其他视图组件:JSP、JSTL、EL、自定义标签,addForm.getFirstNumber();

11、,request.setAttribute(data, data);,Struts MVC小结,模型组件 Struts对模型组件的实现没有任何限制 一般为:UserBiz接口、UserBizImpl类、UserDAO接口、UserDAOJdbcImpl类。 struts-config.xml 配置Form Bean和Action Bean 服务器启动时,Struts装载struts-config.xml信息, ,Struts深度历险,Struts执行顺序 在AddForm和AddAction中增加调试代码 运行程序查看控制台输出,ActionServlet调用AddForm的setter方法,

12、然后调用AddAction 的execute方法,最后页面将Form中的值显示出来,Struts深度历险,ActionForm和ActionMapping中有什么? Action中execute方法的参数列表 设置断点,观察变量,public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response),AddAction.java,通过在excute方法中设置断点、观察变量,可以帮我们解决很多使用Struts中出现

13、的问题,小结,结合下图,说说Struts的运行过程。,使用Struts开发“发布出租信息”,使用Struts开发“发布房屋信息”功能 模型(Model)组件 典型的三层结构 面向接口编程 开发顺序: DAO Biz Form Bean JSP Action Bean struts-config.xml 调试,使用Struts开发“发布出租信息”,业务流程,1、如果未登录,转到login 2、如果isConfirmed为false,转到confirm;否则,保存数据,转到userlist 3 、如果出错,转到error,使用Struts开发“发布出租信息”,实现代码,public ActionF

14、orward execute(.) /如果没有登录,转发到登录页面 HttpSession session = request.getSession(false); USER user = null; if (session != null) user = (USER) session.getAttribute(user); if(user = null) return mapping.findForward(login); /如果还没有确认,转到确认页面 String confirm = request.getParameter(confirm); if(null=confirm | !yes.equals(confirm) return mapping.findForward(confirm); /调用业务逻辑方法,插入数据到数据库 try FwxxForm fwxxForm = (FwxxForm) form; FWXX fwxx = new FWXX(); fwxx.setTitle(fwxxForm.getTitle(); . biz.

温馨提示

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

评论

0/150

提交评论