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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

struts验证.docx

1、struts验证数据校验也称为输入校验,指导对用户的输入进行基本的过滤,包括必填的字段,字段必须为数字及两次输入的密码必须匹配等。本文重点介绍了struts的校验框架。 1、struts的数据校验大致有如下几种方式: 1. ActionForm的代码校验 2. Action里的代码校验 3. 结合commons-validator.jar的校验 1.1 ActionForm的代码校验 ActionForm的代码校验是最基本的校验方式。这种校验方式是重写ActionForm的validate方法,在该方法内对所有的字段进行基本的校验。如果出现不符合要求的输出,则将出错提示封装在ActionErr

2、or对象里,最后将多个ActionError组合成ActionErrors对象,给对象里封装了全部的出错信息。 以登陆页面为例,下面是重写了Validate方法的ActionForm的代码: Java代码 1. importjavax.servlet.http.HttpServletRequest; 2. 3. importorg.apache.struts.action.ActionError; 4. importorg.apache.struts.action.ActionErrors; 5. importorg.apache.struts.action.ActionForm; 6. im

3、portorg.apache.struts.action.ActionMapping; 7. 8. publicclassLoginActionFormextendsActionForm 9. 10. privatestaticfinallongserialVersionUID=1L; 11. privateStringusername; 12. privateStringpassword; 13. 14. publicStringgetUsername() 15. returnusername; 16. 17. publicvoidsetUsername(Stringusername) 18

4、. this.username=username; 19. 20. publicStringgetPassword() 21. returnpassword; 22. 23. publicvoidsetPassword(Stringpassword) 24. this.password=password; 25. 26. 27. /重写validate方法,完成数据校验 28. SuppressWarnings(deprecation) 29. Override 30. publicActionErrorsvalidate(ActionMappingmapping, 31. HttpServl

5、etRequestrequest) 32. /ActionErrors用于包装所有的出错信息 33. ActionErrorserrors=newActionErrors(); 34. /如果用户名为空 35. if(username=null)|(username.equals() 36. /error.username对应资源文件中的key,用户名是对应资源文件的第一个参数 property 0 137. errors.add(username,newActionError(error.username,用户名); 38. 39. /如果密码为空 40. if(password=null)

6、|(password.equals() 41. errors.add(password,newActionError(error.password,密码); 42. 43. /返回封装了所有的出错信息 44. returnerrors; 45. 46. import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionError;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionF

7、orm;import org.apache.struts.action.ActionMapping;public class LoginActionForm extends ActionForm private static final long serialVersionUID = 1L; private String username; private String password; public String getUsername() return username; public void setUsername(String username) this.username = u

8、sername; public String getPassword() return password; public void setPassword(String password) this.password = password; /重写validate方法,完成数据校验 SuppressWarnings(deprecation) Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) /ActionErrors用于包装所有的出错信息 ActionErrors e

9、rrors = new ActionErrors(); /如果用户名为空 if(username = null)|(username.equals() /error.username对应资源文件中的key,用户名是对应资源文件的第一个参数 errors.add(username, new ActionError(error.username,用户名); /如果密码为空 if(password = null )|(password.equals() errors.add(password, new ActionError(error.password,密码); /返回封装了所有的出错信息 ret

10、urn errors; 在JSP页面中值需要更改一处即可*之间的部分: Jsp代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 请输入用户名和密码: 18. 19. : 20. 21. : 22. 23. 24. 25. 26. 27. 28. 29. 请输入用户名和密码: : : 由于在本项目中用到了资源文件,因为有了资源文件的支持,JSP页面只需要简单的标签就可以生成全部的出错信息,下面是资源文件: 资源文件代码 1. #-standarderrors- 2. username=用户名 3. password=密码

11、4. login=登陆 5. noname=请输入用户名,然后在登陆 6. nopassword=请输入密码,然后在登陆 7. #html:errors将自动加载errors.header作为出错提示标题 8. errors.header=验证出错你必须按以下提示修改你的输入才能继续. 9. error.username=0必须填写. 10. error.password=0必须填写. 11. #html:errors将自动加载errors.footer作为出错的最后一行 12. errors.footer=你完成上面提示部分# - standard errors -username=用户名p

12、assword=密码login=登陆noname=请输入用户名,然后在登陆nopassword=请输入密码,然后在登陆#html:errors将自动加载errors.header作为出错提示标题errors.header=验证出错你必须按以下提示修改你的输入才能继续.error.username=0 必须填写.error.password=0 必须填写.#html:errors将自动加载errors.footer作为出错的最后一行errors.footer=你完成上面提示部分注:上述资源文件还不能直接在项目中应用,在使用前需要转换成unicode格式。 命令:native2ascii Mess

13、ageResources_zh_CN.properties MessageResources.properties 以上是使用ActionForm进行数据验证的方法,但是使用ActionForm的数据验证有个显著的问题:ActionErrors和ActionError都是struts不在推荐使用的类,因此,应尽量避免使用这种验证方法。 1.2 Action的代码验证 在Action里通过代码完成输入验证,是最基本,也是最容易使用的方法。与当初的MVC设计相似,在调用业务逻辑组件之前,先对数据进行基本的验证,这是最传统也是最原始的方法。 在Action里面完成数据验证,实际上就是在execute

14、方法前面增加数据验证的部分代码。下面是增加了数据验证Action代码: Java代码 1. importjava.sql.ResultSet; 2. 3. importjavax.servlet.http.HttpServletRequest; 4. importjavax.servlet.http.HttpServletResponse; 5. 6. importorg.apache.struts.action.Action; 7. importorg.apache.struts.action.ActionForm; 8. importorg.apache.struts.action.Act

15、ionForward; 9. importorg.apache.struts.action.ActionMapping; 10. 11. import.newcom.dao.DbDao; 12. 13. publicclassLoginActionextendsAction 14. 15. Override16. /必须重写核心方法,该方法负责处理用户的请求 17. publicActionForwardexecute(ActionMappingmapping,ActionFormform, 18. HttpServletRequestrequest,HttpServletResponsere

16、sponse) 19. throwsException 20. /解析用户请求参数 21. LoginActionFormlaf=(LoginActionForm)form; 22. Stringusername=laf.getUsername(); 23. System.out.println(您输入的用户名是:+username); 24. Stringpassword=laf.getPassword(); 25. /出错提示 26. 27. /完成服务器端的校验 28. /ActionErrors用于包装所有的出错信息 29. ActionMessageserrors=newAction

17、Messages (); 30. /如果用户名为空 31. if(username=null)|(username.equals() 32. /error.username对应资源文件中的key,用户名是对应资源文件的第一个参数 property 0 133. errors.add(username,newActionMessages(error.username,用户名); 34. 35. /如果密码为空 36. if(password=null)|(password.equals() 37. errors.add(password,newActionMessages(error.passw

18、ord,密码); 38. 39. 40. / saveErrors(errors,request);41. saveMessages(errors,request);42. retun mapping.findForword(“shibai”);43. 44. 45. import java.sql.ResultSet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import or

19、g.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import .newcom.dao.DbDao;public class LoginAction extends Action Override /必须重写核心方法,该方法负责处理用户的请求 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServ

20、letRequest request, HttpServletResponse response) throws Exception /解析用户请求参数 LoginActionForm laf = (LoginActionForm)form; String username = laf.getUsername(); System.out.println( 您输入的用户名是:+username); String password = laf.getPassword(); /出错提示 String errMsg = ; / 完成服务器端的校验 if (username = null | username.equals() errMsg += 您的用户名丢失或没有输入,请重新输入!; else if (password = null | password.equals() errM

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

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