仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 541|回复: 9
打印 上一主题 下一主题

[学习教程] 来看struts2自界说考证器(身份证考证)

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:06:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。
struts2的考证器是用的xwork内里的考证,自界说考证器就是依据源码承继已有的字段考证器而来。详细步骤以下:
1.睁开xwork-2.0.4.jar,com.opensymphony.xwork2.validator.validators目次下有个default.xml,将它复制到项目根目次下更名叫validators.xml。
考证框架起首在根目次下找validators.xml文件,没找到validators.xml文件,考证框架将挪用默许的考证设置,即default.xml内里的设置信息.
4.新建一个类(身份证考证为例:类名CardIdFieldValidator)承继FieldValidatorSupport,完成validate办法。
  1. packageorg.siyn.commons.validators;importcom.opensymphony.xwork2.validator.ValidationException;importcom.opensymphony.xwork2.validator.validators.FieldValidatorSupport;publicclassCardIdFieldValidatorextendsFieldValidatorSupport{  publicvoidvalidate(Objectobject)throwsValidationException  {    //取得字段的名字    StringfieldName=getFieldName();    //取得输出界面输出的值    Stringvalue=getFieldValue(fieldName,object).toString();    if(value==null||value.length()<=0)      return;    if(value.length()!=15&&value.length()!=18)//身份证必需是15或18位!      addFieldError(fieldName,object);    if(value.length()==15)      validate15CardId(value,object);    if(value.length()==18)      validate18CardId(value,object);  }  /***//**  *<p>18位身份证考证</p>
复制代码
  *
*依据〖中华国民共和国国度尺度GB11643-1999〗中有关国民身份号码的划定,国民身份号码是特性组合码,由十七位数字本体码和一名数字校验码构成。
*分列按次从左至右顺次为:六位数字地点码,八位数字出身日期码,三位数字按次码和一名数字校验码。
*
*第十八位数字(校验码)的盘算办法为:
*1.将后面的身份证号码17位数分离乘以分歧的系数。从第一名到第十七位的系数分离为:7910584216379105842
*2.将这17位数字和系数相乘的了局相加。
*3.用加出来和除以11,看余数是几?
*4.余数只大概有012345678910这11个数字。其分离对应的最初一名身份证的号码为10X98765432。
*5.经由过程下面得知假如余数是2,就会在身份证的第18位数字上呈现罗马数字的Ⅹ。假如余数是10,身份证的最初一名号码就是2。
<p>
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。
海妖 该用户已被删除
10#
发表于 2015-3-22 04:54:01 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
只想知道 该用户已被删除
9#
发表于 2015-3-15 21:18:17 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
兰色精灵 该用户已被删除
8#
发表于 2015-3-8 08:46:15 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
飘灵儿 该用户已被删除
7#
发表于 2015-2-25 22:46:23 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-8 19:36:42 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
简单生活 该用户已被删除
5#
发表于 2015-2-2 23:32:42 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
活着的死人 该用户已被删除
地板
 楼主| 发表于 2015-2-1 17:29:30 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-29 09:09:34 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
分手快乐 该用户已被删除
沙发
发表于 2015-1-20 14:32:04 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 03:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表