隔叶黄莺 The Blog of Unmi

〖隔叶黄莺三四声,挂壁飞瀑千万尘。若是人间无净土,此处为何妙语真! 隔叶黄莺四字,本非取自此句,而有寄寓他意,因见妙语,亦与予心合!〗

BlogJava 首页 新随笔 联系 聚合 管理
  209 Posts :: 84 Stories :: 392 Comments :: 0 Trackbacks

05 2007 档案

     摘要: 在开源的项目中使用 Log4j一般 都是在类中添加一静态变量,如
protected static Log log = LogFactory.getLog(RequestProcessor.class); //通用日志组件

protected static Logger log = Logger.getLogger(RequestProcessor.class); //直接申明为Log4j的logger

原来有一个项目是做了一个自定义了 MyLogger 类, 其中的 debug, info 等到方法直接就是调用 log4j 的 logger 的对应方法. 别的代码中调用 MyLogger 的静态方法打印日志时, 依据log4j.properties的配置显示 %l 定位信息就始终是 MyLogger

如: 2007-05-23 12:18:46,828 [DEBUG] com.unmi.MyLogger.debug(MyLogger.java:12) Hello MyLogger

而不是调用类,   阅读全文
posted @ 2007-05-23 12:16 隔叶黄莺 阅读(59) | 评论 (0)  编辑

     摘要: WEB 应用中一般都会处理主从表的信息, 或者称之为头层与行层的一对多的关系数据,如订单头/订单明细. 对于这种关系数据提交到后台的 Struts 的 ActionForm 的话, 这个 ActionForm 就要好好的设计一下, 不然会给自已带来许多额外的代码. 比如有的人的处理方法就是把页面提交到后台的毫无关系的散装数据非常吃力的拼凑一对多的关系对象出来.

下面举一个如今非常现实的关于股票的例子, 简单的应用场景是: 记录某个帐户所持有的股票信息,提交到后台,然后显示出来. 输入页面如下图

帐户信息包括帐户名和资金帐号;持有股票的每一行信息包括股票代码, 股票名称, 成本价, 股票数量. 股票行可以动态增删.  阅读全文
posted @ 2007-05-22 23:29 隔叶黄莺 阅读(1167) | 评论 (7)  编辑

     摘要: JDK1.5出来多年了(2004年10月正式发行),就连6.0正式版在 http://java.sun.com上已上赫然在目,紧跟着的各应用服务器和 Java IDE 厂商的都准备就绪. 可是相信很多开发者跟我一样却碍于公司用的是老版本的应用服务器,如WebSphere Application Server,,WebLogic等只能支持到1.4的JDK,要升级应用服务器成本和风险都有担心,所以项目中只能用1.4 的JDK,一直无法体验到 JDK 1.5 的新特性带来的便利.

有些同事机器里一直还是躺着 JDK 1.4,我可能比他们好一点就是直接装了一个 JDK 1.5,然后在 Java IDE 中设置编译器的 Compiler compliance level为 1.4(实质就是javac –target 1.4).这样避免了用JDK1.5编译的Class 放在1.4的JVM中运行出现49.0的字节码版本太高的错误,这样做只不是50步和100步的差距,照例用不了JDK1.5 的新特性.
我一直在探索:能不能使用JDK1.5的特性,然后让生成的字节码能在1.4的  阅读全文
posted @ 2007-05-17 16:47 隔叶黄莺 阅读(314) | 评论 (0)  编辑

     摘要: 曾经是想当然的尝试把
(name like #name#) 写成 (name like '%#name#%') 或 (name like %#name#%) ,都没法通过,分别报错
java.sql.SQLException: Invalid argument in JDBC call: parameter index out of range: 1

java.sql.SQLException: Unexpected token: % in statement [ select id......
那么正确的写法是什么呢?在网上找到一个解答 How do I use LIKE in my queries,方法有两种
1. 是把上面 (name like '%#name#%') 的 # 换成 $, 也就是 (name like '%$name$%')
2. 是用 || 连接字符串的方式,写成 (name like '%' || #name# || '%')  阅读全文
posted @ 2007-05-06 19:35 隔叶黄莺 阅读(271) | 评论 (0)  编辑