- 浏览: 64734 次
- 性别:
- 来自: 北京
最新评论
文章列表
MiniTomcat - How Tomcat Works 8: Loader
- 2009-09-15 15:26
- 浏览 719
- 评论(0)
MiniTomcat - How Tomcat Works 7: Logger
- 2009-09-15 15:24
- 浏览 563
- 评论(0)
MiniTomcat - How Tomcat Works 6: Lifecycle
- 2009-09-15 15:12
- 浏览 737
- 评论(0)
container
- 2009-09-15 15:08
- 浏览 637
- 评论(0)
default connector
- 2009-09-15 15:07
- 浏览 636
- 评论(0)
connector
- 2009-09-15 15:06
- 浏览 580
- 评论(0)
开发一个简单的Servlet容器
1. Servlet编程是通过javax.servlet和javax.servlet.http这两个包的类和接口来实现的。其中一个至关重要的就是javax.servlet.Servlet接口了。所有的servlet必须实现实现或者继承实现该接口的类。
Servlet接口有五个方法:
//在servlet类已经初始化之后,init方法将会被servlet容器所调用
public void init(ServletConfig config) throws ServletException
//servlet容器为servlet请求调用它的serv ...
- 2009-09-15 14:05
- 浏览 851
- 评论(0)
如何实现一个简单的HttpServer。一个基础的Web服务器使用两个重要的类:java.net.Socket和java.net.ServerSocket。
1. HTTP请求
一个HTTP请求包括三个组成部分:方法—统一资源标识符(URI)—协议/版本,请求的头部,主体内容
HTTP请求例子:
POST /examples/default.jsp HTTP/1.1
Accept: text/plain; text/html
Accept-Language: en-gb
Connection: Keep-Alive
Host: localhost
User-Agent ...
- 2009-09-15 12:47
- 浏览 850
- 评论(0)
1. 考虑用静态工厂方法代替构造函数 静态工厂方法优点:具有名字;每次调用时,不要求必须创建新对象;可以返回对象。 实质就是静态方法,可以方便的调用。缺点是不能被实例化。
//定义静态方法
Public class StaticTest {
public static String getResults(String name) {
return name;
}
}
//调用
String name = StaticTest.getResults("tingor"); ...
- 2009-09-04 11:45
- 浏览 854
- 评论(0)
1. 设计原则 封装变化
针对接口编程,不要针对实现编程
多用组合,少用继承
为了交互对象之间的松耦合设计而努力
类应该对扩展开放,对修改关闭
要依赖抽象,不要依赖具体类 - 依赖倒置原则(Dependency Inversion Principle)
只和朋友交谈
别找我,我会找你
类只有一个改变的理由
2. 策略模式(Strategy)
定义了算法族,分别封装起来,让它们之间可以相互替换,让算法的变化独立于使用算法的客户 - 鸭子模拟器
3. 观察者模式(Observe ...
- 2009-08-26 14:34
- 浏览 865
- 评论(0)
1. UML介绍1.1 类图 类名:正体字,如果是斜体,表示抽象类 属性:public(+),private(-),protected(#) 方法:public(+),private(-),protected(#),静态方法(_) 性质:即一个全局变量,具有get/set方法
1.2 类图关系 一般化( ...
- 2009-08-11 17:13
- 浏览 925
- 评论(0)
1. 定义
Spring实现了AOP功能的IoC容器 Spring Core - {Spring ORM, Spring DAO, Spring AOP, Spring Web, Spring Context, Spring Web MVC} Spring的IoC容器管理的对象均是单例
2. 简单配置
启动类 - SpringStartup
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("beans.xml"));
HelloWorld hello = ( ...
- 2009-07-02 15:48
- 浏览 833
- 评论(0)
1. 排序检索数据
// 按多列排序
select prod_id, prod_price, prod_name from products order by prod_price, prod_name;
如果多行具有相同的prod_price,则按prod_name排序,否则不会
// 按列位置排序
select prod_id, prod_price, prod_name from products order by 2, 3;
// 排序方向
select prod_id, prod_price, prod_name from products order by pr ...
- 2009-06-30 10:16
- 浏览 1246
- 评论(0)
1. 获取环境变量
System.getenv("PATH");
System.getenv("JAVA_HOME");
2. 获取系统属性
System.getProperty("pencil color"); // 得到属性值
java -Dpencil color=green
System.getProperty("java.specification.version"); // 得到Java版本号
Properties p = System.getProperties(); // 得 ...
- 2009-06-01 16:33
- 浏览 3973
- 评论(0)
1. Thread生命周期
// 创建Thread
extends Thread或者implements Runnable接口
// 启动Thread
thread.start()
isAlive(): 可以判断该Thread是否终结
// Thread终结
run()方法执行到return语句,执行到代码最后一行,抛出一个异常
// Thread加入
join(): 用于一个开始执行独立task的thread,来观察该thread是否完成,但是要小心block
// 停止Thread - 设定标记
private volatile boolean done ...
- 2009-04-03 14:09
- 浏览 2985
- 评论(0)