ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:667.60KB ,
资源ID:17303117      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17303117.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Struts培训教程Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Struts培训教程Word下载.docx

1、应用MVC的长处如下:靠得住性(Reliability):将表示层和处理层完全分开,可以在不从新编译model和controller的情况下修改view层。复用性和适应性(reuse & adaptability):MVC使你可以应用多种view去拜访雷同的model。快速开辟(Rapid deployment):因为MVC清楚的将表示层和处理层分开,所以使得不合的法度榜样员可以各司其则,增长开辟速度。可保护性(Maintainability):清楚的分层同样使得代码清楚、法度榜样的可保护性进步。3Struts的概念和体系构造概述struts与MVC模式 struts是一个完全遵守MVC模型设

2、计的,web层的框架。在struts中,应用到了jsp、javabean、taglib和servlet技巧。下图是一个描述了struts框架的应用请求的履行路径:这个过程大年夜体可以被分成5个根本步调: 1 view提议一个请求2 ActionServlet(servlet技巧实现)接收这个请求,它根据一份xml文件来得到处理这个请求的Action对象,并将请求发送给这个Action对象。3 Action对象接收这个请求,并调用model(EJB)去处理这个请求,并将处理成果返回给ActionServlet。4 ActionServlet根据Action 的返回成果中的信息,决定将处理成果返回

3、给对应的view。5 view得到处理成果,并将他显示给用户。3.1THE MODEL3.2THE VIEW Struts用JSP、taglib和javabean技巧去实现view。JSP用来显示视图;struts经由过程应用本身定义的一组taglib来控制请求的流程、帮助处理成果的显示;javabean用来保存用户在JSP页面中的输入数据,他用来便利的向Action传递用户输入数据。3.3THE CONTROLLER Struts用org.apache.struts.action.ActionServlet去实现controller的功能。这个servlet接收所有JSP页面发送的请求,根据

4、一份设备文件得到处理响应用户请求的Action,并调用Action去处理用户的请求。当Action处理停止后,ActionServlet接收处理成果,并根据同样的设备文件将处理成果发送当响应的JSP页面。4Struts重要技巧介绍4.1相干技巧进修Struts,起重要懂得一下以下相干技巧。(有些部分只供给相干的材料链接,不做讲解)。4.1.1JavaBeans大年夜多半JavaBeans是由JavaBeans来编写的.4.1.2反射和内省4.1.3属性文件和ResourceBundles4.1.3.1属性文件属性文件重要用来设置法度榜样属性,属性文件的后缀名为.properties,属性文件的

5、格局类似于以下内容:book=my computer book pages=120authors=zhfseminar=124.1.3.2应用属性文件java.util包中Properties类用来治理一个Key/value对,Properties类供给了以下办法:load()办法:Loading key/value pairs into a Properties object form a Stream 从一个输入流中加载getProperty()办法:Retrieving a value from its key 经由过程关键字来获得值list()办法:Listing the keys a

6、nd their values 列举Save()办法:Saving the properties to a stream 保存属性具编制子如下import java.util.*;import java.io.*;public class useProperties public static void main(String args) try Properties defaultProps=new Properties(); FileInputStream file=new FileInputStream(test.properties); defaultProps.load(file);

7、 file.close(); defaultProps.list(System.out); System.out.println(getProperty(String key,Stringdefault)= +defaultProps.getProperty(book); FileOutputStream out=new FileOutputStream(appProperties defaultProps.store(out,-no comment- out.close(); catch(Exception e) e.printStackTrace(); 4.1.3.3应用本地化数据应用本地

8、化数据,须要建立多个属性文件,假设我们体系中须要支撑德文和法文,我们的默认属性文件为LabelsBundle.properties文件,那么我们须要建立德文和法文所对应的属性文件:LabelBundle_de.propertiesLabelBundle_fr.properties# LabelsBundle.properties 内容s1 = computers2 = disks3 = monitors4 = keyboard# LabelsBundle_de.properties内容s1 = Computers2 = Plattes3 = Monitors4 = Tastatur# Labe

9、lsBundle_fr.properties内容s1 = Computerfrs2 = Plattefrs3 = Monitorfrs4 = Tastaturfr4.1.3.4ResoureBundle和Locale经由过程ResourceBundle结合Locale对象可以选择属性文件:下面我们给一个具体的例子public class ResourceBundleDemo public static void main(String args) /采取了德国设置 Locale currentLocal=Locale.GERMAN;ResourceBundle labels=ResourceB

10、undle.getBundle(LabelsBundle,currentLocal); String myValue=labels.getString(s2 System.out.println( Local=GERMAN ; S2= +myValue); /采取了法国设置 currentLocal=Locale.FRENCH; labels=ResourceBundle.getBundle( myValue=labels.getString( Local= FRENCH ;更多的内容可以查看:4.1.4JSP和JSP标签库Jsp中供给了一些标准的标签:useBean,setProperty/

11、getProperty,include,forward,plugin。应用例子如: 这些标准的标签,为操作JavaBean和响应请求等供给便利,除此之外,JSP技巧许可我们本身封装特有的标签,来简化应用法度榜样开辟。有经验的开辟者可以应用标签处理表单,拜访数据库或其他企业办事(如e-mail或目次办事等)。4.1.4.1标签的重要技巧可以在JSP页面中设置标签的参数。可以拜访JSP页面中所有的对象。可以获得JSP页面的Response对象。标签之间互相通信。标签可以被嵌套,实现标签的多层应用。4.1.4.2标签的应用为了可以或许在jsp页面中应用一个标签,我们须要变现一个实现了TagSuppo

12、rt类的java法度榜样,然后经由过程tld文件,定义该标签的属性,然后经由过程web.xml声明这个tld文件,最后才可以在JSP页面中应用标签的。下面我照样根据例子来简单讲一下具体代码下src/taguse目次下。4.1.4.2.1定制标签类package com.zhfelva.tag;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;/* * 一个显示当前时光的标签*/public class CurrentTimeTag extends TagSupport public int doStartTag() try

13、 JspWriter out = pageContext.getOut(); java.util.Date dt = new java.util.Date(System.currentTimeMillis(); out.print(dt.getHours()+:+dt.getMinutes()+dt.getSeconds(); catch(IOException ioe) System.out.println(Error in CurrentTimeTag: + ioe); return(SKIP_BODY);4.1.4.2.2编写标签定义文件放于WEB-INFtaglibmytaglib.t

14、ld?xml version=1.0 encoding=ISO-8859-1 ?!DOCTYPE taglib PUBLIC -/Sun Microsystems, Inc./DTD JSP Tag Library 1.1/EN- a tag library descriptor -taglib 1.0jspversion1.1shortnamecurrent timeuri/uriinfo A tag library for show current time/info nameCurrentTimetagclasscom.zhfelva.tag.CurrentTimeTagbodycont

15、entEMPTYshow current time/taglib4.1.4.2.3在web.xml中进行设备一个网页应用法度榜样要在web.xml中声明他要应用的标签库:gb2312DOCTYPE web-app PUBLIC -/Sun Microsystems, Inc./DTD Web Application 2.3/ENweb-apptaglib-uri my-taglib/taglib-uritaglib-location /WEB-INF/taglib/mytaglib.tld/taglib-location/web-app4.1.4.2.4简单标签的应用以上设备做好之后,就可以在

16、JSP页面中应用标签了:currenttime.jsp% page contentType=text/html;charset=gb2312 % taglib uri=my-taglib prefix=mytagHTMLHEADTITLE显示当前时光 - JSP/TagLib/HEADBODYH1/H1mytag:CurrentTime /BODY/HTMLStruts中真正将标签库应用了起来,大年夜家可以从中看到标签库的强大年夜功能。4.1.5XML相干技巧这里,相干的内容异常多,并且很重要,信赖大年夜家也都熟悉XML技巧,因为时光关系,这里就不做讲述了。4.2重要技巧4.2.1Struts

17、体系构造 视图:重要由JSP生成页面完成视图,Struts供给丰富的JSP 标签库: Html,Bean,Logic,Template等,这有利于分开表示逻辑和法度榜样逻辑。 模型:模型以一个或多个java bean的情势存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form平日称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action平日称之为ActionBean,获取从ActionSevlet传来的FormBean,掏出FormBean中的相干信息,并做出相干的处理,一般是调用Java Bean

18、或EJB等。 流程:在Struts中,用户的请求一般以*.do作为请求办事名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的设备信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完成响应的营业操作,如文件操作,数据库操作等。每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中设备。4.2.2Struts的根本组件包全部struts大年夜约有15包,近200个类所构成,并且数量还在

19、赓续的扩大。在此我们不克不及一一介绍,只能列举几个重要的扼要的介绍一下。下表说清楚明了今朝struts api中根本的几个组件包,包含action,actions,taglib。图片(5)则浮现了这几个组件包之间的关系。个中action是全部struts framework的核心org.apache.struts.action根本上,控制全部struts framework的运行的核心类、组件都在这个包中,比如我们上面提到的控制器ActionServlet,Action,ActionForm,ActionMapping等等。struts1.1比1.0多了 DynaActionForm 类。增长

20、了动态扩大生成FormBean功能org.apache.struts.actionsorg.apache.struts.taglib这不是一个包,而是是一个客户标签类的集合。下面包含Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags这几个用于构建用户界面的标签类。对于Struts 若何控制、处理客户请求,让我们经由过程对struts的四个核心组件介绍来具体解释。这几个组件就是:ActionServlet。Action Classes,Action Mapping(此处包含ActionForward),ActionFrom Bean。

21、4.2.3Struts ActionServlet当用户向办事器端提交请求的时刻,实际上信息是起首发送到控制器ActionServlet,一旦控制器获得了请求,其就会将请求信息传交给一些帮助类(help classes)处理。这些帮助类知道若何去处理与请求信息所对应的营业操作。在Struts中,这个帮助类就是org.apache.struts.action.Action。平日开辟者须要本身持续Aciton类,从而实现本身的Action实例。4.2.4Struts Action Classes Action类所作的工作,正如它的名称一样,就是具体的营业操作。Action类中最为常用的是execu

22、te()办法。 当Controller收到客户的请求的时刻,就会将请求转移到一个Action实例,然后会调用这个Action实例的execute()办法。Struts Framework为应用体系中的每一个Action类只创建一个实例。所有的用户都应用这一个实例, Action 类运行在一个多线程的情况中。留意,客户本身持续的Action子类,必须重写execute()办法,因为Action类在默认情况下是返回null的。4.2.5Struts Action Mapping上面讲到了一个客户请求是若何被控制器转发和处理的,然则,控制器若何知道什么样的信息转发到什么样的Action类呢?这就须要

23、一些与动作和请求信息相对应的映射设备解释。在struts 中,这些设备映射信息是存储在特定的XML文件(struts-config.xml)。这些设备信息在体系启动的时刻被读入内存,供struts framework在运行时代应用。在内存中,每一个元素都与org.apache.struts.action.ActionMapping类的一个实例对应。下表就显示了一个上岸的设备映射。Path:这个属性用来和JSP页面中,调用时的action属性相对应,它将JSP页面和处理这个JSP页面的Action对象对应起来。Type: 对应的Action子类的完全类名。Name: 对应的ActionForm的

24、名称。他与下面将描述的元素的name属性响应。Scope:这个属性表示相对应的ActionForm bean 的scope属性。它的值可所以“page”、“request”、“session”和“application”。分别对应java bean的“page”、“request”、“session”和“application”属性。Input:这个属性表示假如对应的ActionForm的validate办法返回值的ActionErrors非空,即ActionForm的属性没有经由过程校验,则跳转到当前的页面。Validate: 是否调用FormBean的validate()办法来验证,封闭它

25、之后就不会报掉足误信息了。True表示须要调用validate办法;false表示不须要调用validate办法。 forward:定义可能的跳转路径。Name属性表示Action类的execute办法中,生成的返回成果时的参数;path表示将要跳转到的页面的路径。上面的设备表示:当可以经由过程/logonAction.do提交请求信息的时刻,控制器将信息委托com.test.LogonAction处理。调用LogonAction实例的execute()办法。同时将Mapping实例和所对应的LogonForm Bean信息传入。个中name=LogonForm,应用的form-bean元素所声明的ActionForm Bean。有关form-bean的声明如下显示。有两个属性: name :这个ActionForm的名字,他与被页面中的HTML:元素的name属性应当是雷同的。比如,假如在一个页面中须要生成一个ActionForm对象,这个对象的名字(就是name属性)是“LoginForm”,则页面中的元素的name属性也应当是“LoginForm”。 Type:这个ActionForm对象的完全类名。这个属性和页面中的元素的type属性是相对应的。在此稍稍说一下有关global-forw

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1