27

8月

      在日常的开发当中,偶尔会碰到如下的情况:
      在一个html页面的form里面,要提交的表单元素是从数据库迭代出来的,即不能确定其名字和长度。
      这样一来,写formbean的时候(struts 1),就不能确定属性了。其实,struts也提供了处理此类问题的方法,即数据的集合方式提交。我们可以在給表单元素命名的时候,用下面的方式命名:
对象名(属性名)  HashMap或者是自己定义的javabean
列表名(索引)  ArrayList
      案例:有一个用户表,需要在页面上对他进行迭代显示,然后逐个命名。
Tags: ,

5

8月

SSO技术的介绍与实现

[2008/08/05 19:44 | 分类: JAVA技术 | by 博爱老头 ]
      SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统(相对于产生一个Passport,在所有有相同约定的系统中畅通无阻)。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。
      这里,我简单的总结了下SSO的实现方式。

web 浏览器的共通认证

23

7月

Struts详解之-ActionServlet

[2008/07/23 10:38 | 分类: JAVA技术 | by 博爱老头 ]
      由于最近见到的关于struts、hibernate等的基础问题很少受新人关注,所以,写了这些东西,还是希望能打好底子,以后会陆续的写些其他的各方面开发中会用到的东西。好,入正题。

ActionServlet类 简介
ActionServlet是Struts中最核心的部分,我们从这里开始。它相当于中央控制器,我们来看看他是怎么样实现核心Control的。它是通过org.apache.struts.action.ActionServlet来实现的,所有的请求通过它进行中转。

ActionServlet的工作原理
ActionServlet它负责接受所有的request,并且产生相对应的response到请求的页面。但是它怎么知道对应呢?这里就存在一个map文件(我习惯这么叫它)Struts-config.xml,它包括了resource文件、如何到达下一个页面、下面一个页面是什么、页面的校验规则、怎么样显示错误信息(如ActionMessage的使用)的定义。
Tags: , ,

21

5月

java numberFormat 百分数转换

[2008/05/21 14:36 | 分类: JAVA技术 | by 博爱老头 ]
      对于不熟悉java api的惩罚,就是他的代码非常的繁琐,例如java numberFormat 百分数转换,api提供了完全的方法支持。

8

5月

[JSTL详解]下载地址

[2008/05/08 15:27 | 分类: JAVA技术 | by 博爱老头 ]
      好久以前写的,都没有管过了,不断的有人问密码啊,下载地址的,所以,今天重新整理下。

下载地址:http://www.icnote.com/file...

解压密码:xxx_programer


Tags:

6

5月

     所谓设计模式,是一种问题的解决思路,它已经使用于一个实践环境,并且可以适用于其他环境,获得了良好的效果。简单的来说,就是经验的总结。

     设计模式是每一个程序员至少是系统构架师必须掌握的技能。通常见的有Factory,Builder,Proxy,Adapter,Bridge....,有21种之多,如果能全部掌握的话,将会給你的设计和开发带来意想不到的效果。

     今天,简单的将Proxy做下“笔录”。
     很显而易见,Proxy是代理的意思,网络的代理应该不是很陌生了,如我们要访问一个外国的网站,而哪个网站确限制了在中国的访问,这样,你就必须找个在当地的网站进行代理,才能访问。

4

5月

ISBN check digit generator

[2008/05/04 10:35 | 分类: JAVA技术 | by 博爱老头 ]
      现在国际上通用的check digit的算法有很多种,例如:UPC、ISBN、 CUSIP。。。等等。。
      这里重点解释下ISBN
引用
The final character of a ten digit International Standard Book Number is a check digit computed so that multiplying each digit by its position in the number (counting from the right) and taking the sum of these products modulo 11 is 0. The last digit (which is multiplied by 1) is the check digit, chosen to make the sum correct. It may need to have the value 10, which is represented as the letter X. For example, take the ISBN 0-201-53082-1. The sum of products is 0×10 + 2×9 + 0×8 + 1×7 + 5×6 + 3×5 + 0×4 + 8×3 + 2×2 = 98 modulo 11 (10) subtracted from 11 ≡ 1. So the ISBN is valid.

While this may seem more complicated than the first scheme, it can be validated very simply by adding all the products together then dividing by 11. If the result is an integer then the ISBN is valid.

ISBN 13 (in use January, 2007) is equal to the EAN-13 code found underneath a book's barcode. Its check digit is generated the same way as the UPC, except the even digits are multiplied by 3 instead of the odd digits (a UPC can be converted to EAN-13 by prefixing a 0).

下面是这次开发中写的,需要用到的规则:
Tags:

14

4月

      关于嵌套循环结果的打印,其实Ireport-jfreechart也有非常好的解决方案,关键在于JasperReport提供了JASPER_PRINT_LIST,可以解决类似下面的问题:

1、循环的嵌套打印
类似:一个图书管理系统,要打印出借出的所有人的借出的图书信息,由于每个人有借出的多本图书,有很多人,而且每个人需要打印一份单独的借出一览清单。
2、多报表的整合打印
类似:需要将多个JasperPrint对象的文档打印到一起,而且对报表的格式要求不同等等。

关键步骤如下:

建立一个JasperPrint泛型的list,用来存放JasperPrint对象(注意,jdk1.5之后才支持泛型,之前的版本可以不用加
private List reportlist = new java.util.ArrayList();

11

4月

1.    Which statement about the garbage collection mechanism are true?
A. Garbage collection require additional programe code in cases where multiple threads are running.
B. The programmer can indicate that a reference through a local variable is no longer of interest.
C. The programmer has a mechanism that explicity and immediately frees the memory used by Java objects.
D. The garbage collection mechanism can free the memory used by Java Object at explection time.
E. The garbage collection system never reclaims memory from objects while are still accessible to running user threads.

2. Give the following method:
1) public void method( ){
2) String a,b;
3) a=new String(“hello world”);
4) b=new String(“game over”);
5) System.out.println(a+b+”ok”);
6) a=null;
7) a=b;
8) System.out.println(a);
9) }
Tags:

11

3月

      在项目的开发过程中,系统对日志的要求很细,而且要求分类清楚。所以还是采用了Log4J。

      在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。

      Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

      此外,通过Log4j其他语言接口,您可以在C、php、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。
分页: 1/4 第一页 1 2 3 4 下页 最后页 [ 显示模式: 摘要 | 列表 ]