好好做一个有节操的码农,比我有能力的人,都还在学习,我没有理由不继续学习.
出售一个自己用python,django写的blog,cms程序, 适合初学者参考, 淘宝链接:django cms应用程序出售
预览模式: 普通 | 列表

inputStream to Properties 与 Properties to 流

最近在做项目的时候,遇到一个问题,需要在内存中对从不同地方收集起来的 Properties 文件做处理,在处理之后,要合并成一个 单独的 Properties 并输出为 inputStream ,做后续的处理。如果单纯从 properties文件转换成 inputStream 应该是比较容易的事。在内存中处理合并properties 也比较简单,但 从Properties 对象转换成 inputStream 我硬是冤枉了两个小时。很郁闷,不过最后还是找到了方法,其重点就是 通过outputStream 作为中转来实现,参考了网上的一个 inputStream 与 outputStream 与 String 对象之间相互转换的代码,一起写在里面.

查看更多...

Tags: properties inputstream outputStream

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 330

javascript异步处理与Jquery的deferred对象总结

这是项目组老大整理的一些关于jquery 异步处理请求,以及使用 jquery deferred 对象的一些常见方法。虽然是项目上总结出来的。但也比较通用,分享在这里。

所有的Ajax操作都采用异步处理。

采用Jquery的Deffered对象来处理异步调用。

因为是异步调用,所以$.Ajax函数的返回值不代表返回的结果,只是一个Deffered对象。

Ajax调用完成后执行的逻辑可以写成函数作为参数传递给Deffered对象的done(), fail(), always()函数来执行。

查看更多...

Tags: javascript jquery deferred

分类:Javascript | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 387

Spring @transactional annotation 事务使用详解

annotation 方式写程序越来越称谓主流了,以前用hibernate 也用 xml 一大堆配置文件。spring beans 管理也是一大堆xml 配置文件,但现在的趋势是 annotation ,这种方式写程序更方便,很少配置文件,维护起来也比较方便。这几天重新看 spring 的文档,仔细看了下 annotation 方式下事务的管理方式.

查看更多...

Tags: spring transaction

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 19454

spring,hibernate,ibatis in action 电子书下载

java 开发中,常用的几个框架,spring , hibernate, ibatis 这几个开源框架, 在网上找了几个免费的电子书,分享在这里,都是比较清晰的电子书。不过都是英文版,这是英文原版, 有部分是官方提供的 文档整理而成 , 有需要的,可以下载下来看看.

查看更多...

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 525

java web应用防止sql 注入的常规方法

继续接上一篇文章,java web 应用程序,还有另一个比较常见的攻击漏洞,也就是 sql injection. 通常也就是我们所说的SQL 注入.其实解决的方法很简单
1. 采用 orM
2. 如果是原生的SQL 语句,记得用 PreparedStatements ,参数用 ?, 代替,然后赋值。

查看更多...

Tags: java SQL injection

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 642

java 防止 XSS 攻击的常用方法总结.

在前面的一篇文章中,讲到了java web应用程序防止 csrf 攻击的方法,参考这里 java网页程序采用 spring 防止 csrf 攻击. ,但这只是攻击的一种方式,还有其他方式,比如今天要记录的 XSS 攻击, XSS 攻击的专业解释,可以在网上搜索一下,参考百度百科的解释 http://baike.baidu.com/view/2161269.htm, 但在实际的应用中如何去防止这种攻击呢,下面给出几种办法.
1. 自己写 filter 拦截来实现,但要注意的时,在WEB.XML 中配置 filter 的时候,请将这个 filter 放在第一位.
2. 采用开源的实现 ESAPI library ,参考网址: https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API

3. 可以采用spring 里面提供的工具类来实现.

查看更多...

Tags: java xss 安全

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 9310

java网页程序采用 spring 防止 csrf 攻击.

经常开发银行的应用,在安全性方面要求比较高,在安全性保护方面,csrf 攻击是必须测试的项目之一,关于什么是 csrf 攻击,我不想多做解释,网上已经介绍够多了,可以参看 IBM Developer works 的文章 http://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/ 这篇文章介绍了 csrf  的危害和一般解决办法,在实际开发过程中,有一些参考价值。

但事实上在我经历过的银行项目开发过程中,基本都会采用 spring 框架,所以完全可以不用自己开发 filter 去拦截 csrf 攻击的请求,而直接采用实现 spring 提供的 HandlerInterceptor 来实现。 从本质上来说,这也是一个 filter.  我这里就直接实现它来 防止 csrf 攻击.

查看更多...

Tags: java csrf spring

分类:Java | 固定链接 | 评论: 3 | 引用: 0 | 查看次数: 2755

Django 中 如何使用 settings.py 中的常量

在用django 框架开发 python web 程序的时候 , 在模板页面经常会用到 settings.py 中设置的常量,比如MEDIA_URL, 我尝试过在模板页面用类似如下的方式
程序代码 程序代码

{{CONSTANT_NAME}}

但是,是没有效果的,后来只好采用了RequestContext 的方法,起始就是在 render_to_response 的时候,将settings.py 中常量,再次添加到一个 context 中去实现,这样在页面就能用另外一个名字去访问了,感觉很别扭,个人觉得肯定还有更简单的方法,只是没找到而已。下面是实现方法

查看更多...

Tags: django settings.py

分类:Python/Django | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 921

java 计算瑞年的方法

任何语言都有可能计算某一年是否为瑞年的方法,也就是说一年有 366 天,每隔4 年就出现一次。最基本的算法如下:
程序代码 程序代码

if year is divisible by 400 then
   is_leap_year
else if year is divisible by 100 then
   not_leap_year
else if year is divisible by 4 then
   is_leap_year
else
   not_leap_year

查看更多...

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 310
在java 编程中,不可避免用到计算时间差。前面我写过几篇文章,关于java 时间计算的,还有timezone 转换的文章,但没有这么具体到相差到天数,小时,分钟,秒数都列出来的情况,所以这里再总结下。
1. 用JDK 自带API 实现。
2.利用 joda time library 来实现.

查看更多...

Tags: java time

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1697

Hibernate保存图片 文件 到数据库

为了在数据库中保存文件,需要在数据库中定义二进制指端blob. 有的数据库也有 image 类型也可以。在hibernate 实体类 这一边, 定义 类型为  byte[] 就可以。做一个简单的例子测试

查看更多...

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 922

封装 sqlserver2005 以上的 hibernate 方言 Dialect

在数据库的查询中,分页是必不可少的。在很久以前用 sqlserver 2000 的时候,经常用内存分页或者存储过程分页。但内存分页效率实在很低,而且只适合数据量小的情况 。 从sqlserver 2005 以上,分页查询就好做很多,提供了一个row_number, 这个做分页比较好用。当然你仍然可以利用存储过程,写一个公用的分页存储过程。具体我就不写了,原理很简单,传入要查询的SQL 语句,得到所有数据,根据PAGE SIZE 计算ROW_NUMBER, 然后再包装一个SQL语句就可以了。但这里是用Hibernate做,所以直接实现Hibernate Dialect 方言比较好

查看更多...

Tags: hibernate dialect

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 197

ie下用脚本提交表单后,不能自动提示的问题

经常我们用表单提交东西,在提交后,浏览器会自动记录你输入的东西,下次你再输入的时候,可以重新选择,但是如果你是用IE的话,这里有一个BUG, 其他浏览器没有这个问题。当然首先你得设置IE 浏览器选项是可以记录表单数据的,然后写一段代码来测试。

查看更多...

分类:Javascript | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 332

Spring mvc 异常处理 例子

异常处理,在程序开发过程中,是个很重要的部分,能处理的异常我们自己处理,否则抛出来,如果用spring mvc 最终是抛到 controller 层。所以 spring mvc 的异常处理统一在controller 处理。在 spring 3.0 以上,提供了  @ExceptionHandler  这个class 去处理异常. 下面记录 spring mvc 异常处理常用方法

查看更多...

Tags: spring mvc

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1672

简单方法合并两个java list

下面的例子讲了如何合并两个java list, 用简单的方法,而不用自己去造轮子,循环list 去做,用如下建档方法

查看更多...

Tags: java list

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3976