java web开发中各种注意点总结(2)
继写了1之后,最近又想起或新收获了一些细小的注意点,所以继续写来分享给大家,同时也当写给自己以后看吧,做个知识的记录。
1,对String做正则表达式验证时,如果是保存在数据库中的表达式,则应该与直接写成字符串样子的表达式有所区别。直接写的字符串表达式要对“\”进行转义写成“\\”,而数据库中的,因一直从取出到使用都传递的是一个引用,所以要直接写成“\”而不用转义。如直写的表达式“\\d”(对数字验证)数据库中应保存为“\d”。这样传引用不需要转义反斜线的性质也适用于其它情况。
2, MySQL数据库Date类型的字段必须赋值一个大于1970年1月1日的日期值。否则对此字段进行where条件查询或order by等操作时就会报错。
3, Javascript编码时,所有命名均不宜使用常用的完整英文单词。如谷歌浏览器10版本中的某个就对top这个单词已经占用,如果写一个var top={login: function(){}};这样的对象,然后用top.login()调用,在此款浏览器中就会报js方法找不到的错误。而top这个单词在W3C Javascript标准中并不是已占用的关键字。而其它浏览器也可能存在此现象,所以...To top。
4,Spring MVC值注入,在Controller中写的方法,方法参数直接写成@RequestParam(value="arr")String[] arr这样子来接收一个访问传入的数组已经是很常见的写法。但用jquery 1.7的$.getJSON("url",{"arr":arr},function(){});访问时,根据理解应可以取到我们传入的arr数组值,但结果却取不到,此时请写成 @RequestParam(value="arr[]")String[] arr这样的形式试试,问题就可以解决。(其实这和技术无关,只是一个奇怪的经验问题)
5,写 Javascript代码,最好每一句结束都加上“;”(分号)来表示一句的结束,这应该成为一种良好的编码习惯,即使是这样的“}”括号后面也应该写上“;”(分号),这样的话,即使以后你写的JS代码被压缩成一行,也不致出错。
6,在java EE web开发中,一般项目都离不开apache一些基础包的支持,这些包在项目中的本身存在性,可以为我们的开发带来极大的便利。要进行String字符串,Date日期等类型数据的操作时请不要忘记了借助它们的力量。StringUtils,DateUtils这些现成工具类的使用,能让你在成为高效多产的程序员历程上更进一步。StringUtils.isBank可以立即对字符串判空;DateUtils.addXX可以给日期立即加减小时、天、周、月、年等。要讲的道理很简单: 永远不要忘记使用现成的工具。
[转]http://my.oschina.net/sxgkwei/blog/50983