- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 Spring 3.1 MVC REST 支持之跨域访问(Cross-origin resource sharing)
关于跨域资源访问请参考 http://en.wikipedia.org/wiki/Cross-origin_resource_sharing ,基本原理是在Spring Controller的每一个请求返回的时候都加上Access-Control-...header,需要注意的是并不是所有的浏览器都支持这些header,使用之前要先了解清楚。实现起来也很简单那就是Interceptor,代码如
2012-08-01 10:05:11 31901 2
原创 Spring 3.1 MVC REST 支持之URL
Spring3.1版本对REST的支持比以往都要全面。方法上面只要加上annotation就可以实现对不同url和不同请求类型的响应了。@RequestMapping(value = "/test/book", method = RequestMethod.GET)当然url可能会很复杂,其中包含参数,甚至还有url之外的参数,如下:@RequestMapping(value = "/test/b
2012-06-18 10:10:54 1866 2
原创 Spring 3.1 MVC REST 支持之序列化
Spring MVC的(JSON)序列化可以通过配置ObjectMapper来实现。为了实现自定义对象或者接口的序列化,我们需要继承ObjectMapper,然后再加入自定义的序列化和反序列化的实现类就可以了。public class TestObjectMapper extends ObjectMapper { public TestObjectMapper(){ super(
2012-06-18 10:10:39 6206
原创 Struts2+Spring集成中Action的管理
一般而言我习惯用Struts2的Spring plugin集成,步骤如下:先在web.xml中加入 org.springframework.web.context.ContextLoaderListener 然后在struts.xml中加入就可以了。但是我一直有个疑问,spring中bean默认是单例的,但是struts2 action为了多线程安全考虑,肯定
2012-03-09 23:52:56 3274
原创 Struts2 Rest Plugin的使用
最近公司要开发restful风格的API,于是就想到了能不能再现有struts2(2.2.1)的基础上进行扩展,于是就到官网(http://struts.apache.org/2.x/docs/rest-plugin.html)下载了插件按照示例试了试,但是就是不行,namespace属性不管用,后来才悲催地发现struts2-rest-plugin 2.2.1压根就没有这个属性2.3以后才有,所
2012-03-09 23:38:33 7854 3
原创 MySQL group_concat() 长度限制
最近使用mysql group_concat()的时候发现总是有些结果是不完整的,原来group_concat()有长度限制1024,在my.ini中加上 group_concat_max_len = 200000 改大就行了。
2012-02-27 18:59:39 16089
原创 Spring Security 3.0.5 自定义登录
一般使用SpringSecurity 都需要使用自带的url("j_spring_security_check")进行登录,但是如果你想要使用ajax登录设置就会很麻烦,但是其实可以自己实现登录的action(struts),原理也就是把认证的对象放到spring security context 中,关键代码如下:try { UsernamePasswordAuthenticationTo
2012-02-27 18:47:22 3115
原创 JSON对象数组到Java的转换
json用来在客户端和服务器端之间传输数据很是简洁和方便,但是如果客户端传输的是对象数组的话,得做如下的处理:JSONArray testJSONArray=JSONArray.fromObject(testArrayStr);Collection testArray=JSONArray.toCollection(testJSONArray);if(testArray!=null && !testArray.isEmpty()){ Iterator it=testArray.iterator
2011-03-16 13:21:00 5470
原创 common-fileupload上传文件
使用common-fileupload上传文件比较简单,先去 http://commons.apache.org/fileupload/ 下载好相关的jar包,然后准备好上传的页面文件,主要的是一个form,如下: File Upload File Name:
2011-03-16 09:51:00 5587
原创 Comet之简单方案—Ajax Push Engine(APE)
APE是一套用来实现server-push的方案,它包括一个comet服务器和一套javascript框架,客户端无需任何安装即可使用。它本身javascript框架是基于mootools的,后来也兼容其它框架了,也可以不使用框架。 它的基本原理如下: 在用户登录应用服务器的同时也登录APE服务器,可以使用类似隐藏式的iframe嵌入,如下: 其中ape.jsp中主要是响应push的回调函数。如下图中的onRaw() 首先是APE的安装: 先到官方网站 http://www.ape-
2011-03-15 09:32:00 4964
原创 轻量级EJB--Cajo
Cajo的目的就是使得JVM间的通信变得简单,不需要EJB容器,任何servlet容器之间都可以进行通信。先到官方网站http://java.net/projects/cajo/downloads 下载相应的包,就一个包下载完就可以直接用了。 只需要用到gnu.cajo.invoke.Remote和gnu.cajo.utils.ItemServer两个类就可以了,如下: Remote.config(null, port, null, 0); ItemServer.bind(new CajoTestO
2011-03-14 22:39:00 8646
原创 iText生成PDF
使用iText可以很方便地生成PDF文件,但是如果包含中文的话要先下载语言包。 生成pdf文件第一步新建文件: Document doc = new Document(PageSize.A4); PdfWriter.getInstance(doc, new FileOutputStream("F:/test.pdf")); doc.open(); 然后新建中文字体样式: BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS
2011-03-14 22:05:00 611
原创 jQuery二级联动
研究了半天,终于明白jQuery的二级联动怎么个实现法。下面的代码使用的返回数据是JSON,在后台JAVA使用JSON包就行了,如下: JSONArray jsonArray = JSONArray.fromObject(resultArray); out.print(jsonArray.toString());
2010-02-26 14:12:00 853
原创 C3P0 配置
最近做的项目一开始都是用的DBCP连接池,后来发现在有防火墙(Juniper)的情况下,外部网络又能会出现自动掉线的情况,session的销毁不受控制等等,详细检查了所有的配置相关文件后还是没办法,就想起用C3P0试试,大体配置如下: maxPoolSize="20" minPoolSize="5" acquireIncrement="1"
2010-01-29 09:09:00 556
转载 Unicode转码
Unicode转码-By xiaowei用来转换为Unicode编码的工具源码 Unicode转码-By xiaowei 工具->Internet选项->高级->允许活动内容在我的计算机上的文件中运行;return true">function trim(text) { return text.replace(/(^/
2010-01-27 08:49:00 1567
原创 Struts 1.2国际化初解
最近一个项目用了JSP+Struts+JDBC来做的,主要是为了赶进度,没有用Hibernate,但是同时也让我写了一堆重复的代码,这是后话了。其中涉及到了国际化这一部分,是在整个项目完成的最后阶段做的。感觉用Struts来做国际化步骤挺简单的。 第一步:配置web.xml application com.hyman.test.Applicat
2010-01-27 08:04:00 927
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人