摘要: AJAX 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <html> 3 <head> 4 <script type="text/javascript"> 5 /* 标准AJAX模板 */ 6 //使用 false 作为判定条件,它表示还没有创建 XMLHttpRequest 对象 7 var http_request=false; 8 //创建XMLHttpReque 阅读全文
posted @ 2012-03-12 14:04 Paul.Lau 阅读(3019) 评论(0) 推荐(2) 编辑
摘要: 1.struts1的action是单例模式且必须是线程安全的,action的一个实例处理所有请求.struts2的action对象为每个请求产生一个实例,没有线程安全问题.struts1的action依赖于servlet api,struts2的action不依赖与容器,允许脱离容器单独测试.2.struts1的execute方法依赖于servlet api,使得测试要依赖于容器.struts2的action可以通过初始化,设置属性,调用方法来测试,依赖注入支持是测试更容易.struts1试用ActionForm对象捕获输入,普通JavaBean不能捕获输入.动态bean可以作为ActionF 阅读全文
posted @ 2012-03-12 14:00 Paul.Lau 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 在向大家详细介绍Hibernate二级缓存之前,首先让大家了解下一级缓存,然后全面介绍Hibernate二级缓存。Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。这里使用EHCache缓存来实现 二级缓存使用步骤:1.导入缓存包,配置缓存文件在src目录 阅读全文
posted @ 2012-03-07 18:18 Paul.Lau 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 在服务器上,通过Session来区分每一个上网用户用户只要一连接到服务器,则立刻分配一个Session给用户Session主要方法:1 服务器上通过Session来分别不同的用户-->Session ID任何连接到服务器上的用户,服务器都会位之分配唯一的一个不会重复的Session IDSession ID是由服务器统一管理的,人为不能控制方法:session.getID();长度:322 判断是否是新的Sessionpublic boolean isNew();判断当前的Session是否是新建立的Session3 Session的属性设置设置属性:public void setAtt 阅读全文
posted @ 2012-03-02 13:25 Paul.Lau 阅读(6918) 评论(0) 推荐(0) 编辑
摘要: Overload是重载的意思,Override是覆盖的意思,也就是重写。重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类方法的访问权限只能比父类的更大,不能更小。 阅读全文
posted @ 2012-03-02 13:20 Paul.Lau 阅读(7066) 评论(1) 推荐(1) 编辑
摘要: 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....由此我们写出代码如下:如下代码 1 public class Interview1 { 2 public static void main(String[] args) { 3 System.out.print("please input month:"); 4 Scanner input = new Scanner(System.in)... 阅读全文
posted @ 2012-02-29 16:44 Paul.Lau 阅读(1585) 评论(0) 推荐(0) 编辑
摘要: 闲着没事干,在网上看一些面试题,找到一个比较经典的面试题,自己动手写了写。题目: 子线程循环10次, 接着主线程循环100次, 接着子线程再循环10次, 接着主线程再循环100次,如此循环50次, 请写出程序 !于是我自己研究了一下写了如下代码,也许还不是很完美吧,自我认为已经差不多了。代码如下 1 public class ThreadQuestion { 2 public static void main(String[] args) { 3 new ThreadQuestion().init(); 4 } 5 6 private void... 阅读全文
posted @ 2012-02-28 17:38 Paul.Lau 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 语法:for(type 变量名:集合变量名){...}注意事项:迭代变量必须在()中定义集合变量可以是数组或者是集合举例:Demo 1 public static double NewMethodAdd(int...args){ 2 double sum=0; 3 //原始for循环 4 for (int i = 0; i < args.length; i++) { 5 sum+=args[i]; 6 } 7 //for循环增强 8 for(int arg:args)... 阅读全文
posted @ 2012-02-28 11:05 Paul.Lau 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 大家可能碰到过类似的情况了,在参数不确定的情况下,我们该怎么去定义一个方法呢?最开始的时候,我的第一想法就是利用数组来保存值,然后在方法的参数中直接就传一个数组就OK了,这样可以吗?绝对可以。老师曾经说过,不想偷懒,不想把代码写精简的程序员不算一个好的程序员。那么有更好的方法吗?答案当然是肯定的。我在用MyEclipse配置JPA的时候才发现的,让我获益匪浅,发出来给大家分享一下。举个例子:如果我们现在要运算多个数相加的和。第一想法代码:第一想法代码如下 1 public class Varable { 2 public static void main(String[] args) ... 阅读全文
posted @ 2012-02-27 21:08 Paul.Lau 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 既jdk1.5后,引用了静态导入,方便了很多调用静态方法时的方便,语法:import 可以导入一个类或一个包中的所有类import static可以导入一个类中的某个静态方法或所有方法demo如下:StaticImport1 import static java.lang.Math.*;2 3 public class StaticImport {4 5 public static void main(String[] args) {6 System.out.println(max(3, 6));7 System.out.println(abs(3 - ... 阅读全文
posted @ 2012-02-27 20:45 Paul.Lau 阅读(241) 评论(0) 推荐(0) 编辑