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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

struts2 总结.docx

1、struts2 总结第一章 struts2入门与配置1、在tomcat中的配置server.xml:加入 作用:这样配置就不用将工程发布tomcat中了,只要发布到tomcat中,没有此配置也是可以的在Tomcat里可以配置一下路径,不用把它发布到Tomcat里。在Tomcat的根目录下找到server.xml里的标签里加上一个标签。基中path请求的虚拟路径、docBase当前的应用程序目录、reloadable当为true时表示当开发者去修改任意一个class文件或配置文件时Tomcat自动重起方便开发,当运行的时候为false提高Tomcat运行的效率。然后配置好Tomcat,其中Lau

2、nch选择run model运行模式。2、加入五个必须的struts2的jar包 基本jar包commons-logging-1.0.4.jar:日志包、freemarker-2.3.13.jar、ognl-2.6.11.jar、struts2-core-2.1.6.jar:核心包、xwork-2.1.2.jar:webWork的核心包,struts2也依赖于它、commons-fileupload-1.2.1.jar3、修改工程下的web.xml文件:web-app version=2.4 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-in

3、stance xsi:schemaLocation= struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* struts2不是servlet而是一个过滤器 4、在src目录下创建struts2的配置文件struts.xml,内容: /result.jsp 注:package里的extends与类的继承相似,struts-default是struts2里已经存在的包 action里的name与页面里表单里的action的值,这个值除掉.action;class与struts1里的type属性一样。 result转到的页

4、面,里面的name默认值为sucess;如果name为input表示出现错误时返回到输入页面。 action类会自动力执行execute的方法 拦截器是struts2的核心部分代码执行流程:表单提交数据-struts.xml-标签指定的逻辑处理类-跳转到指定的页面5、struts2里action不须要继承那个类开实现它是一个简单的pojo,不须要依赖struts2的任何一个类文件。6、struts2里替除了一些不须要的标签,标签文件的描述符是核心包里面的META-INF里。struts2是用maven来构建,它比ant还要强大。struts2的form标签action值默认以action结尾,

5、它还集成了错误验证的机制。7、struts2提交一个父类:ActionSupport。webwork本身是xwork与webwork两个工程的合并,struts2引入了xwork。ActionSupport对通用的行为进行了实现,实际是对一些接口的实现。也可以自己写。8、ActionSupport:如果子类想实现验证要实现ActionSupport的validate方法。当验证失败时用ActionSupport的addFieldError(String fieldName,String errorMessage)方法添加错误信息。fieldName表单里控件的名字,errorMessage错误

6、信息,出现错误时返回到input页面。第二章 struts2类型转换一、 struts2类型转换一 1、struts2的类型转换是基于ognl的类型转换。主要实现TypeConverter这个类,它对于类型转换的实现,它描述了一种最通用的情况,所以一般不去实现这个接口,它提供了一个接口实现的类DefaultTypeConverter。自己的类继承DefaultTypeConverter重写convertValue方法来完成类型转换。2、convertValue(Map context,Object value,Class toType)web应用程序分为两种情况,一:客户端字符串到自定义类型的

7、转换;二:在页面进行输出时,是从服务器到客户端的转换,即是从自定义类型到字符串的转换。toType是目标类型即如果是String则是第二种情况否则是第一种情况。3、ActionSupport类实现了接口Action。Action定义了struts2的一个基本模型,里面有ERROR:有错误、INPUT:验证没有成功、LOGIN:没有成功,因为用户没有登录、NONE:表示action操作成功但是不显示任何视图、SUCCESS:成功,它们都对应struts.xml里里的name属性的值最好显示写出;最好用Action里的字符串来返回。4、写一个属性文件来设定struts2的转换工作。这个属性文件一定

8、要与action在同一个包内。这个属性文件名是:”action类名-conversion.properties”。5、在属性文件里是以key与value的性质,key是struts2要转换的属性名,value是转换这个属性的类。当用户要转换多个属性里可以换行加多个。 二、struts2类型转换二1、当需要转换多个自定义类型的类的化需要全局类型转换。局部类型转换是对某一个特定的类进行转换,而全局的是在当前系统里所有符全要求的进行类型转换。全局类型转换需要在classes目录下建立一个名为xwork-conversion.properties的属性文件(名字不可以更改),在里面写配置信息。形式是:

9、要转换类的名=作为转换器的类。2、在属性文件里注释一行用的是“#”号。3、不管是全局的类型转换还是局部的类型转换都是用一个类extends DefaultTypeConverter类里的convertValue方法来转换的。而DefaultTypeConverter则是实现了TypeConverter接口来实现类型转换的。4、struts2类型转换是基于ognl的。struts2提供了一个更加简化的类型转化方式,它本身也是基于ognl实现的。就是类型转换类继承org.apache.struts2.util包里的StrutsTypeConverter类。它是继承com.opensymphony.

10、xwork2.conversion.impl.DefaultTypeConverter类。StrutsTypeConverter是一个抽象类,在它里是面有convertToString(Map context, Object o)与convertFromString(Map context, String values, Class toClass)两个抽象方法,分别是从字符串开始转换与转换到字符串。它是struts2类型转换的核心,真正项目是继承StrutsTypeConverter的,而不是继承DefaultTypeConverter。5、StrutsTypeConverter继承Defa

11、ultTypeConverter后要去重写convertValue方法,里面toClass与String.class进行比较,如果为真则调用convertToString方法否则调用convertFromString方法。6、如果用户实现完继承StrutsTypeConverter的类后,只需要添加到属性文件即可。7、在struts2中页面也可以把控件的名字写为:类对象名.属性名,这个方式这个类必须提供一个没有参数的构造方法。这种写法对表单会很麻烦,绝对不能有它。8、在页面显示一个类的时候,它会默认调用这个类的toString()方法。第三章 struts2校验1、类型转换就是客户端用户输入的

12、参数转化为服务器端java的对象,不管用户输入什么样的内容,到客户端都是以字符串的形式存在。2、int与Date的转换是struts2的内置拦截器自动转换的。3、输入校验是验证用户输入的信息是否合法是否有效。4、输入校验是建立在类型转换的基础之上的误显示的功能,。5、struts2的标签库已经内置了错但是必须使用struts2的标签才能显示错误信息。6、ActionSupport在com.opensymphony.work2下。ActionSupport实现的Action,而Action里面的常量代表的是与它相对应的小写字符串。7、如果返回页面没有input页面的话当类型转换或校验出错的时候会

13、出现404No result defined for action action类 and result input错误。8、struts2一但发现类型转换或输入校验失败它会去寻找一个名字叫做input的页面,然后转到这个页面。9、验证方法validate是ActionSupport实现接口Validateable里的方法。在ActionSupport里这个方法没有实现任何东西,是让子类重写此方法来实现自己想要的验证。10、为了防止用户直接从浏览器的地址栏里输入action地址,action里的属性就为null,所以要进行非空验证。11、Calendar c1=Calendar.getInst

14、ance(); c1.setTime(birthday); Calendar c2=Calendar.getInstance(); c2.setTime(graduation); 让时间与Calendar关联起来。c1.before(c2)时间c1是否在c2之间。12、在HTML表单里可以用EL方式得到错误信息时返回用户原来的信息。13、在struts.xml里有一个转发的方式一般情况下是dispatcher,也是默认方式,它有很多种。14、如果用来显示错误信息,它会以的方式来显示错误的信息。15、遇到类型转换错误的时候(也就是说不能进行类型转换),struts2框架自动生成一条错误信息,并且

15、将该错误信息放到addFieldError里面。16、当年龄不可以转换的时候,struts2有内置的错误显示:Invalid field value for field age,age对应表单里的数据,这种错误信息一定要被替换掉。17、struts2提供一个资源文件来解决这个问题,用于类型转换的错误信息,这个文件是用于类型转换的。18、全局:struts.xml里加上一个constant标签,它不在package里。它表示在struts整个框架里要使用那些常量就把它写进去。要替换struts2自带的错误信息应加上它就把struts里源有的资源文件替换成为message的资源文件,不需要加pro

16、perties,message.properties文件放在src目录下,即放在classes目录下。19、在建立的属性文件里定下xwork.default.invalid.fieldvalue=0 error它前面不变的,xwork.default.invalid.fieldvalue当任何的一个属性转换出问题的时候就会显示后面的信息,后面表示的是“属性名 error”显示在页面上。20、类型转换也有全局和局部的,上面的是全局的。局部的是验证某一个action里的局性。如果要验证某一个action里的属性,在action的包下建一个 “Action类名.properties”属性文件,内容格

17、式:invalid.fieldvalue.属性名=要现实的信息 。显示信息若是中文时不能直接在文件中写中文,否则会出错,应该将中文转换为encoder的编码方式,可以用jdk中bin目录下的native2ascii.exe工具进行转换。21、当局部与全局转换同在的时候局部会替换掉全局的错误信息。22、struts2里的表单默认提交方式为post,它默认的有自动显示错误信息功能,也可以保存用户原来输入的数据。23、当时间转换失败时给时间属性添加一个null值,所以就不需要添加null值判断。int类型的属性如果转换不成功将默认是0;24、类型转换与输入校验的流程 1. 首先Struts2对客户端

18、传来的数据进行类型转换 2. 类型转换完毕后再进行输入校验 3. 如果类型转换和输入校验都没有错误发生,那么进入execute方法(调用商业逻辑) 注意:如果类型转换不成功,也同样要进行输入校验25、实际应用中从不用struts内置的错误信息。26、addFieldError用于存放类型转换的错误信息或验证的错误信息。addFieldError是ActionSupport实现ValidationAware里的方法,还有一种addActionError方法,实现上action有两种错误级别一种是field级别的错误信息显示的时候用struts的form表单或标签,别一种是action级别的错误信

19、息显示的时候只可以用标签显示。27、addFieldError是把错误信息存放在Map里面,addActionError是把信息存放到Collection里面去。28、struts的form标签只可以显示field级别的信息,它不可以显示action级别的信息。29、有时会同时出现field与action级别的错误信息,如类型转换写验证同时出问题,解决这一个问题把每一个struts标签里加上一个theme=simple表示不让struts对标签进行封装,它也不生成多于的代码,也就没有struts给的错误提示。theme=”simple”如果在标签中,则会使struts的标签格式取出,自己生成的

20、表格页消除,便于自定义格式。30、struts生成的控件id是:form的action值_控件名。31、struts2里没有像struts1里的dispatchaction类,它是在struts.xml里的action里加一个method属性,它的值就是对应的逻辑方法名,如果有多个业务逻辑方法,就把这个类写成多个标签。当method出现时就不走execute方法。如: 32、应该是一个业务逻辑方法对应一个验证方法,它是用validate+业务逻辑方法,方法名的第一个字母大写。其中在action类中不管有多少个验证方法都会执行validate方法。如:publicvoidvalidateAbc(

21、)。33、当多个验证方法时validate是验证所有。而validateExecute方法是专用于来验证execute方法的。34、校验也可以用xml来校验,xml是通用的,建议在一般情况下用xml验证,只有当业务校验非常非常复杂时才用validate来校验。35、xml校验方法: 在action包下建xml文件,程序运行时会自动寻找此xml校验文件,命名规则为“Action类名-validation.xml”,xml的格式如下:!DOCTYPE validators PUBLIC -/OpenSymphony Group/XWork Validator 1.0.2/EN true usern

22、ame should not be blank! 6 10 username should be between $minLength and $maxLength password should not be blank! 6 10 password should be between $minLength and $maxLength repassword should not be blank! 6 10 repassword should be between $minLength and $maxLength age should not be blank! 1 150 age should be between $min and $max birthday should not be blank! 2001-01-01 2003-12-31 birthday should be between $min and $max graduation should not be blank! 2005-01-01 2007-12-31 graduation should be between $min and $max 36、struts2也

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

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