Java框架技术学习笔记.doc_第1页
Java框架技术学习笔记.doc_第2页
Java框架技术学习笔记.doc_第3页
Java框架技术学习笔记.doc_第4页
Java框架技术学习笔记.doc_第5页
全文预览已结束

下载本文档

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

文档简介

开发基于Struts/Hibernate/Spring/Ajax的网上信息发布平台第一章:框架技术概述1第二章:Struts原理(一)1第三章:Struts原理(二)4第四章:Struts标签库5第一章:框架技术概述1SSH:即Struts+Spring+HiberNate.2DWR: 一个Ajax框架3三层结构的命名规则层Java中的命名规则.Net中的命名规则表示层包括JSP页面和对应的后台Servlet(或Struts的ActionBean和FormBean代码),放在Web包下业务逻辑层放在biz包下,类名(或接口名)后缀为Biz。命名空间后缀为BLL数据访问层放在dao包下,类名后缀为DAO命名空间后缀为DAL实体对象放在entity包下命名空间后缀为Models第二章:Struts原理(一)1基于Struts开发的应用由3类组件构成:控制器组件、模型组件和视图组件控制器组件:包括一个ActionServlet,是Struts的核心控制器,还包括自定义的Action类(代表用户的一个操作,比如登录或注册),自定义的Action类继承自Struts提供的org.aptech.struts.action.Action。模型组件:并不由Struts提供,一般由普通的接口和JavaBean充当。需要我们自己编码实现。视图组件:一般由JSP实现,还包括自定义的ActionForm类和Struts标签。自定义的ActionForm类用于封装request中的数据。Struts可以将request中的数据自动填充到ActionForm类中。自定义的ActionFrom类继承自org.aptech.struts.action.ActionForm.ActionServlet在系统启动的时候加载struts-config.xml配置文件。该文件包含与Action、ActionForm、页面转向等相关的配置。2添加到项目中的步骤(1)将Struts添加到项目中(将lib目录下的库文件添加到项目,其中jar文件复制到/WEB-INF/lib下,其他文件复制到/WEB-INF下)(2)在/WEB-INF下创建structs-config.xml(内容见后面)(3)在Web.xml中正确配置ActionServlet。配置如下:(Struts支持多个配置文件) action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml 0 action *.do 注:配置访问路径时可以使用通配符,常用的有*.do,/action/*,*.action3ActionForm(自定义的表单对象)继承自框架的ActionForm类,为提交的表单中所有字段的实体类,其中各个属性的名字要与表单中相应控件name相同,以便于Struts自动封装到ActionForm中。4Action(自定义的动作处理对象)继承自框架的Action类,每个Action都应该重写一个execute方法,方法签名如下:public class AddAction extends Actionprivate Calculator biz=new Calculator(); /处理对象public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws ExceptionActionForward af=null;AddForm addForm=(AddForm)form; /获取表单参数/调用业务对象方法double resultData=biz.add(addForm.getNum1(), addForm.getNum2();request.setAttribute(resultData, resultData); /将数据模型存储到request中af=mapping.findForward(result); /将请求转发逻辑名为result的页面return af;5在structs-config.xml中配置FormBean和Action,示例如下: 注:ActionForm(即FormBean)的配置较简单,只需指定name和type属性。Action配置较多,具体如下:name属性指定关联的ActionForm的name。path属性指定访问这个Action的路径,以“/”开头,注意不需要加“.do”。type属性指定这个ActionBean的类名scope属性定义这个Action对应的ActionForm的作用域节点定义了该Action可能转发到的页面,对应每一个页面都有一个逻辑名,在Action代码中,我们只允许通过逻辑名引用到将要转发到的页面,不可以直接使用物理名。提醒:form提交的地址依然是add.do。从表单对象中可以取出操作数$requestScope.addForm.num16使用Struts开发步骤总结:首先将Struts加入到项目中。开发时,首先创建对应的ActionBean和FormBean,在struts-config.xml中进行配置,得到这个功能的框架代码;然后在Action的execute方法中编码,通过FormBean得到页面提交的参数,调用业务逻辑方法(Model部分),接着将业务逻辑执行结果保存在request对象的attribute属性中,再选择返回的页面。最后调试运行是否正确。7Struts运行过程,如下图:(注意,ActionServlet采用的是转发方式,如果需要使用重定向的方式,可以在Action中使用response.sendRedirect(url)语句,并返回null。8在仅仅进行页面转向时,可写一个转向的Action,不必配置它的属性,而是在Action中直接根据ForwardForm传递过来的page直接new出一个新的ActionForward对象。第三章:Struts原理(二)1DispatchAction(可完成多种业务操作)继承自DispatchAction的Action类中不必定义execute方法,而是创建一些实现实际业务的方法,如doAdd()、doSubtract()等,但这些方法的参数和返回值要和普通Action的execute方法相同。在配置中多加一项parameter=”operate”。operate为客户请求中提交上来的参数。该参数应该在客户端的隐藏域中,其value应该对应于相应的DispatchAction中的处理方法的名称。(参数值是什么,就执行什么方法)在项目中一般用Dispatch把相关的操作组织到一起,放到一个ActionBean中。2命名规范在DispatchActionBean中,方法名称的前缀也应遵循一定的规则。toXxx表示转到Xxx页面,doXxx表示执行Xxx操作。如转到编辑页面用toEdit,执行编辑操作用doEdit。3Struts的错误处理机制步骤:编辑“属性文件”;修改对应Action代码;在页面上显示报错信息。(1) 在项目中增加一个ApplicationRperties资源文件(国际化可以再增加一个ApplicationResources_zh_CN.properties)。其内容如下:#ApplicationRpertieserrors.header=errors.footer=error.validate.number=Divisor cannot be 0.(2) 在struts-config.xml中配置。配置方法如下:(3) 修改Action代码public ActionForward doDivide(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws ExceptionCalcForm calcForm=(CalcForm)form;ActionMessages errors=new ActionMessages();if (calcForm.getNum2()=0)errors.add(error2,new ActionMessage(error.validate.number);if (!errors.isEmpty()super.saveErrors(request, errors); /将错误信息保存到请求中return mapping.findForward(input);double result=biz.divide(calcForm.getNum1(), calcForm.getNum2();request.setAttribute(resultData, result);return mapping.findForward(result);(4) 在页上显示报错信息 小技巧:可以通过设置errors.header和errors.footer来设置弹出JS对话框提示错误,配置如下:#ApplicationRpertieserrors.header=alert(errors.footer=);error.validate.number=u9664u6570u4E0Du80FDu4E3A0u30024DynaActionForm(动态Form)在struts-config.xml中直接定义FormBean 使用方法:Action中DynaActionForm calcForm=(DynaActionForm)form;int num1=(Integer)calcForm.get(num1);int num2=(Integer)calcForm.get(num2);注意:此时在页面中取出num1的值的语法应该是$ calcDynaForm.map“num1”5使用实体对象作为Form属性在ActionForm中引用一个实体类对象,并提供

温馨提示

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

评论

0/150

提交评论