也许大家知道apache可能是从:apache httpd,tomcat,struts,ant,log4j,dom4j,...还有许多作为java程序员都知道的框架.ASF(Apache Software Foundation)对java 程序员来说真的挺重要的,至少从现在的b/s来看是这样的.可能有好多人和我一样都是这样认识ASF的.
今年在写一个java项目,在项目中有一个读取xml文件并解析其内容转换成项目菜单的小应用.由于以前习惯(或是熟悉)用DOM解析。而且在java的api也有这个包.马上动手用了一会就搞定,这鼓吹一下"规范"的好处.只要你在asp,php中学会了DOM.当你用在java上基本没有难度.回到正题!写完后,代码大体如下:
除了在whitespace上费了点时间.其它基本上不费事.写完后不久看到一篇文章讲用Digester来解析XML,你注意到了么在struts 1.29或1.38中都有引用这个jar文件.不信你找到struts-1.3.8/apps/struts-blank-1.3.8.war 在eclipse中导入一下就会看到这个jar.从哪后我知道了ASF有一个commons project.项目的url:http://commons.apache.org/
你发现了吧,该项目下有好多子项目都在别的框架中用到.所以开始时我说了这句:"对java 程序员来说真的挺重要的".再没过多久拿到一本:Jakarta Commons经典实例.在这要说的是这两个子项目:
org.apache.commons.codec
org.apache.commons.lang
1.lang:
看一看你在写的项目中有没有引入这个jar文件.看一看下面的对比是否有必要在没有引入的时候引入他.
1.1对于习惯了脚本语言的我来说,java提供的真是太少了.比如我想判断一个字符串是否有值(不论是数字或是字符串,只要不是空,null就好).
google到的:
lang提供的StringUtils,只要一行即可:
1.2对于request.getParameter获取的字符串转成数字.如果不判断是否是数字的情况下直接用Integer.valueOf后果可想而知
google到的
lang提供的StringUtils,只要一行即可:
1.3对于日期的格式化
lang提供的DateFormatUtils,只要一行即可:
1.4生成指定位数的随机数
google到的
上帝呀!真是挺长的.看lang提供的:RandomStringUtils
randomAlphanumeric是由:大,小字符和数字组成的,类似这样的:qK4p1t8RHxTk
randomNumeric是只有数字组成的
1.5数组的扩容.lang提供的ArrayUtils.他提供了很多重载的add的方法.
1.6我记得在google上能搜到java实现javascript的escape功能!这个确实不错,在以前写ajax时经常用到.
google搜到的.我没测试好不好用
这个lang提供的就更全面了,看StringEscapeUtils.即然上面是实现javascript的escape,哪就看StringEscapeUtils提供的
相应的unescape也有,不是说更全面么在哪呢?
2.codec
在项目中需要有登陆操作时,会员的密码都是经过加密的,也不知我找的这个是不是对的,如果你有知道Common下更好的可以告诉我.先说声:"谢谢"
google到的
开始时我用的是这个方法,下面是等价的DigestUtils
用ASF的话,不用重新造轮子,commons里有你日常需要用到的大多数东东,如果你发现别的语言有的,但java没有提供,请你一定要访问ASF的网站.让我们一起为能有ASF这样的战友高兴一下吧