`
文章列表
MiniTomcat - How Tomcat Works 8: Loader
MiniTomcat - How Tomcat Works 7: Logger
MiniTomcat - How Tomcat Works 6: Lifecycle
container
default connector
connector
开发一个简单的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 ...
如何实现一个简单的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 ...
1. 考虑用静态工厂方法代替构造函数    静态工厂方法优点:具有名字;每次调用时,不要求必须创建新对象;可以返回对象。    实质就是静态方法,可以方便的调用。缺点是不能被实例化。 //定义静态方法 Public class StaticTest { public static String getResults(String name) { return name; } } //调用 String name = StaticTest.getResults("tingor"); ...
1. 设计原则    封装变化     针对接口编程,不要针对实现编程     多用组合,少用继承     为了交互对象之间的松耦合设计而努力     类应该对扩展开放,对修改关闭     要依赖抽象,不要依赖具体类 - 依赖倒置原则(Dependency Inversion Principle)     只和朋友交谈     别找我,我会找你     类只有一个改变的理由     2. 策略模式(Strategy)     定义了算法族,分别封装起来,让它们之间可以相互替换,让算法的变化独立于使用算法的客户 - 鸭子模拟器     3. 观察者模式(Observe ...
1. UML介绍1.1 类图    类名:正体字,如果是斜体,表示抽象类    属性:public(+),private(-),protected(#)    方法:public(+),private(-),protected(#),静态方法(_)    性质:即一个全局变量,具有get/set方法 1.2 类图关系    一般化( ...
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 = ( ...
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 ...
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(); // 得 ...
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 ...
Global site tag (gtag.js) - Google Analytics