- 浏览: 73081 次
- 性别:
- 来自: 上海
-
最新评论
文章列表
今天无聊看了下struts源码 发现原来Listener的实现其实挺简单的。
先在这里记一下
实现所需要的对象:
1.需要监听的对象:Monitable
2.监听器接口:Listener
3.监听器实现:MyListener
4.测试类:Test
1.需要监听的对象
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* @author zfss Email: zfss2012@gmail.com
* @version Date: 2012-3-21,Time: 下 ...
- 2012-03-21 13:44
- 浏览 1241
- 评论(0)
HttpServlet详解
Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类.
Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口.在Servlet接口中定义了5个方法,其中有3个方法代表了Servlet的声明周期:
init方法,负责初始化Servlet对 ...
- 2012-03-13 11:34
- 浏览 780
- 评论(0)
首先要声明一点:java的数组时不支持泛型的,因为数组中存放的必须是有类型的数据,而泛型的擦除机制使得内部没有具体类型。
但是可以自己写一个泛型的类,而在这个类中设置一个数组成员变量。
class MyArray<T>{
private static Object[] array;
public MyArray(int length){
array=new Object[length];
}
public MyArray(Collection<? extends T> c){
array=new Object[c.size()];
array= ...
- 2012-02-20 20:51
- 浏览 688
- 评论(0)
错误:
character mismatch (new: 军 [0x519b] != old: [0xbe¾]) for encoding change from ISO-8859-1 to GB2312 at character offset 186。
原因:
如果请求url返回的页面上中文的title写在了meta的前面,而且这个meta里设置的charset编码信息又和parser默认的或者使用者自己设置定编码不一样。
那么就会报这个错,但是如果meta之前没有任何中文,那么就不会报这个错。因为htmlparser本身会根据html源码中的charset信息设置编码:<原创网 ...
- 2012-02-14 15:12
- 浏览 958
- 评论(0)
java中synchronized用法
打个比方:一个object就像一个大房子,大门永远打开。房子里有 很多房间(也就是方法)。
这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。
另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。
在此我们先来明确一下我们的前提条件。该对象至少有一个synchronized方法,否则这个key还有啥意义。当然也就不会有我们的这个主题了。
- 2012-02-12 13:49
- 浏览 662
- 评论(0)
Htmlparser源代码分析
一.根目录下的类
1.Attribute.java
属性类,四个field:mName,mAssignment,mValue,mQuote;
空白标签时:mName=null
除了',"两引号和自定义参数字符表示的分隔号外,mQuote的值都以 char类型的0字符表示。
其中的getName(StringBufferbuffer)等方法,意思是将所获得的结果存入buffer内。
如果使用setRawValue()方法进行对mQuote,和,mValue赋值的时候,首尾都是双引号或者单引号则将 ...
- 2012-02-12 09:52
- 浏览 4221
- 评论(0)
SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来?
添加、删除、修改使用db.Execute(Sql)命令执行操作
╔----------------╗
☆ 数据记录筛选 ☆
╚------ ...
- 2011-12-29 22:18
- 浏览 703
- 评论(0)
如何从URI映射到一个action中
关于如何从URI映射到一个action中我做了一些测试,发现可以遵循如下的一条规则:
1.获得请求路径的URI,例如url是:http://server/myapp/path1/path2/path3/test.action
2.首先寻找namespace为/path1/path2/path3的package,如果存在这个package,则在这个package中寻找名字为test的action,若找到则执行,否则报错;如果不存在这个package则转步骤3;
3.寻找namespace为/path1/path2的package,如果存在这个package, ...
- 2011-07-08 11:07
- 浏览 658
- 评论(0)
一、创建型模式 FACTORY?人才市场:以往是要哪个人才,就找哪个人才,效率低,现在有了人才市场,我们只需直接去人才市场挑一个好了; BUILDER?生产流水线:以前是手工业作坊式的人工单个单个的生产零件然后一步 ...
- 2011-06-15 23:56
- 浏览 773
- 评论(0)
一、引子 话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“ ...
- 2011-05-03 12:42
- 浏览 17352
- 评论(0)
1.SWT
SWT是由IBM所提出的,一个用于做用户界面的包。她与Sun的Swing具有很多的相似之处,因此如果掌握了Swing,那么要学习SWT将是非常简单的。SWT在Eclipse中得到了很大的使用,但是,在Eclipse当中更多情况下,我们使用的是对SWT再进行了一层封装的JFACE包。因此,如果想进行Eclipse的插件开发,我们需要先掌握SWT和JFACE。
2.从例子开始
a)代码:
/**
* @authorcenyongh@mails.gscas.ac.cn
*/
...
- 2011-04-02 10:04
- 浏览 1021
- 评论(0)
前面讲到了一种验证方法,是在Action的 validate方法中通过代码的方式来完成的。而struts2提供了另外一种 方式来实现输入验证。
这种方式就是使用validate框架来实现输入校验,这种方式是基于XML的验证。
文件名为XXXAction-validation.xml。
那么校验xml文件格式该如何写呢?
可以使用firefox查看此xml的DTD定义,地址为http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd
在此列出此DTD的内容
- 2011-03-31 10:54
- 浏览 10249
- 评论(1)
/*
标题:普通行列转换(version 2.0)
作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)
时间:2008-03-09
地点:广东深圳
说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。
问题:假设有张学生成绩表(tb)如下:
姓名 课程 分数
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
想变成(得到如下结果):
姓名 语文 数学 物理
---- ---- --- ...
- 2011-03-24 19:44
- 浏览 655
- 评论(0)
/*
标题:普通行列转换(version 2.0)
作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)
时间:2008-03-09
地点:广东深圳
说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。
问题:假设有张学生成绩表(tb)如下:
姓名 课程 分数
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
想变成(得到如下结果):
姓名 语文 数学 物理
---- ---- --- ...
- 2011-03-24 19:43
- 浏览 693
- 评论(0)