分类文章存档: Java编程和Java企业应用

Java笔记 split/不定长度参数/泛型类型通配符

今天看了一下午《Java学习笔记》,作者林信良,花名良葛格。从书中所获颇多,正所谓温故而知新,我就把今天的“新”总结一下,加深记忆。良葛格也提倡“在网上写文章是我记录所学的一种方式”。

split的正则式和其中的正则式

C语言其中有函数strtok,就是按某些char对字符串进行切割。下面给出一个C下面的范例

char str[] = "now # is the time for all # good men to come to the # aid of their country";
char delims[] = "#";
char *result = NULL;

result = strtok( str, delims );

while( result != NULL ) {
	printf( "result is \"%s\"\n", result );
	result = strtok( NULL, delims );
}

在Java中也有类似的StringTokenizer,但是在JDK5中,已经被标记为Legacy Class(遗产类),推荐使用String.split(String regex),可以接受正则表达式。范例如下。

阅读全文 »

DAO的设计-使用泛型来避免重复DAO

DAO的全称是Data Access Object数据访问接口。数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

我大二时候写的一个小型管理系统,那时候老师开始强调分层和MVC的思想,当时我将DAO层分了开来,把所有与数据库的交互操作封装成对应的DAO类,这样最大的好处是实现了封装和隔离,方便系统的迁移和重构。

分层、封装、接口化是一种基本的解决思路,无论是TCP/IP协议族,还是软件工程,都是很值得使用的方案。

那么接下来的问题就是DAO类的设计,我当时遇到的问题就是DAO类之间存在大量的冗余代码,用敏捷的角度来思考,这绝对是不允许存在的。 阅读全文 »

贴吧小结报告

终于完成了这个贴吧系统,虽然还有很多地方不完善,但是却包含了我很多心血和精力,也实践了我的很多想法。

具体的不说了,稍微说一下开发使用的技术:Java、Struts2、Hibernate、OGNL、Eclipse、Tomcat、MySQL、AJAX、jQuery、SVN、UP开发模式、UML。

之中学习了很多内容,我恨兴奋,说起来这是我第一个完整写的一个网站系统,之前的asp啊,asp.NET多多少少借鉴了别人的代码。

终于知道其实资历代表着经验,很多东西只有自己试过才知道怎么做,这一块我太欠缺了,对于JaveEE开发,也终于开始有了接触,寒假回家3个星期,应该在Java的本质技术上合Hibernate高级内容、设计模式上花时间了。

09_11_16 Update:
今天又check out了一下,然后加入About和Links,当初贴吧在课程设计之后就没有完善,现在加上这两个模块,也就能release了。
相关链接:
项目在Google Code托管 (你可以check out,不知道游客有没有权限,需要可以Mail我)
相关开发博客链接

再谈s:if的使用

上次遇到过<s:if>的问题,费了好久才弄好,这次又遇到,有了一点新的体验。

<s:if test=”">中的判断,如果是数字判断一般都没有问题,问题会在字符串时候凸显出来。

尤其是中文字符串,几乎没有能够通过的,上一次是曲线救国,用了true和false着两个英文,如果非得用中文怎么办?

其实使用<s:if test=’str==”中文”‘>,就可以了,请注意,是单引号-双引号-中文-双引号-单引号的顺序,这样才能够正确的解析中文字符串是否相等。

唔。。。终于可以做下一个部分了

贴吧中期进度汇报

查看sql更新版本,我才发现这个项目已经做了将近2个月了。

之前一个多月都是我有空就做做,一边要写OpenSSL的模型,还要应付平时学习和考试,最近的1个星期,才开始全身心投入的,使这个项目变成了一个课程设计,但决不止于课程设计。

由于鸡鸡的加入,而且对原先设计的一些不满意,我用UP的方式重新对系统进行了设计,从用例到实际类图,都重新设计并加以重构。 阅读全文 »