摘要: 基础准备: Spring MVC为文件上传提供了直接支持,这种支持来自于MultipartResolver。Spring使用Jakarta Commons FileUpload技术实现了一个MultipartResolver:CommonsMultipartResolver。 Spring MVC上 阅读全文
posted @ 2013-07-30 16:03 轩辕李 阅读(1705) 评论(0) 推荐(0) 编辑
摘要: 前面说Jackson是同等框架中最快的,现在要承认自己的错误了。强中更有强中手,这不,阿里巴巴整出来一个Fastjson,竟然比Jackson还快。Java序列化在性能上已经是糟糕透顶,看来以后的序列化还是使用json数据比较好。下面是jvm-serialize测试结果: 序列化时间 反序列化时间 阅读全文
posted @ 2013-06-14 12:57 轩辕李 阅读(2627) 评论(0) 推荐(0) 编辑
摘要: 移动应用中,使用PhotoGap和Jquery Moble无疑是一种选择。 而wap端的编程,选择Jquery Mobile也是不错的。但是Jquery Mobile有小不爽的地方:文件比较大,ajax加载方式和后退栈(研究起来费力),初始化和元素刷新。 下面是使用的一点小心得总结: 页面JS的位置 阅读全文
posted @ 2013-06-14 11:54 轩辕李 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 写一个表单,就会进行一次数据验证。聪明的人把这些繁琐重复的工作提取出来,形成插件。恰好JQuery如此好用,于是就有了JQuery Validate插件。 插件一般特质是:简洁和可拓展性,JQuery Validate非常好的证明了这一点。 准备工作: 需要在头部引入jquery(我使用1.9版本) 阅读全文
posted @ 2013-05-16 13:56 轩辕李 阅读(1735) 评论(0) 推荐(0) 编辑
摘要: 如果是用户平台,需要专业的前端工程师来做。如果是后台,给自己人使用的,则不需要单独进行页面的设计,一般都是后端工程师一手抓的。 这里推荐一个CSS框架,能够有利于后台代码风格的统一和优化。 bootstrap是Twitter开源的一个CSS框架,因为使用HTML 5技术,所以也可以称为HTML 5框 阅读全文
posted @ 2013-05-15 17:24 轩辕李 阅读(449) 评论(0) 推荐(0) 编辑
摘要: SiteMesh的介绍就不多说了,主要是用来统一页面风格,减少重复编码的。它定义了一个过滤器,然后把页面都加上统一的头部和底部。需要先在WEB-INF/lib下引入sitemesh的jar包:http://wiki.sitemesh.org/display/sitemesh/Download。这里使用2.4版本。过滤器定义:在web.xml中 <filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.module.sitemesh.filter.Page 阅读全文
posted @ 2013-05-15 16:59 轩辕李 阅读(16985) 评论(4) 推荐(5) 编辑
摘要: 对于Java中一个已经存在的List<Bean>来说,要给他排序,传统上有两种方式:一个是Bean要实现Comparable接口,另一个是创建Comparator子类。第一种方式需要在原有的Bean上扩展Comparable接口,一般使用不多,因为最好不要随意更改JavaBean。第二种方式则是独立于原有JavaBean,实现的方法需要传入两个Bean对象。关于这两种方式的使用,可以参考:http://www.blogjava.net/fastunit/archive/2008/04/08/191533.html在排序的时候,用到Arrays.sort(Array arr,Comp 阅读全文
posted @ 2013-04-28 10:32 轩辕李 阅读(6401) 评论(0) 推荐(1) 编辑
摘要: 在做Spring MVC项目的时候,持久层并没有使用Spring JPA和Hibernate结合,而是使用了Spring原生的JdbcTemplate。JdbcTemplate效率比较高,直接使用原生的jdbc操作,返回的数据是List<Map>的形式。现在我想寻找一种简单的ORM映射,把数据库查询到的数据转换为JavaBean,因为有时候我们操作JavaBean往往比操作Map要方便和简洁。我找到了Apache Commons项目下的一个工具:DbUtils。这个工具使用起来非常简单,原理是利用Java反射技术来提供ORM映射服务的。相对Hibernate来说,他更加简洁和快速。 阅读全文
posted @ 2013-04-28 10:07 轩辕李 阅读(2680) 评论(0) 推荐(0) 编辑
摘要: 正则非常强大,进入学习之旅。匹配模式:g:进行全局匹配。找到所有匹配,而不是第一个就终止i:不区分大小写m:代表多行匹配,^和$不但匹配字符串的开头和结尾,而且匹配每行的开头的结尾。简单的转义字符:\r, \n代表回车和换行符\t制表符\\代表 "\" 本身例如\.表示.本身。例子:s=a$bc ,req=\$b 则s=a-c多种字符匹配:\s任何空白字符\S任何非空白字符\d匹配一个数字字符,相当于[0-9]\D匹配一个非数字字符,相当于[^0-9]\w匹配一个数字、下划线或字母字符,等价于[a-zA-Z0-9_]\W匹配一个非数字、下划线或字母字符,等价于[^a-zA- 阅读全文
posted @ 2013-04-25 10:57 轩辕李 阅读(206) 评论(0) 推荐(0) 编辑
摘要: Jackson解析的速度算是同类框架中最快的,同时也是Spring MVC中内置使用的解析方式。准备工作: 下载jar包:http://jackson.codehaus.org/1.7.6/jackson-all-1.7.6.jar Jackson依赖的jar包相对较少,使用起来也比较简单。 直接贴出Jackson的相关代码,非常简单,就两个方法:public class JSonUtils { static ObjectMapper objectMapper; /** * 使用泛型方法,把json字符串转换为相应的JavaBean对象。 * 转换为... 阅读全文
posted @ 2013-04-25 10:42 轩辕李 阅读(2629) 评论(0) 推荐(0) 编辑