- 浏览: 23943 次
- 性别:
- 来自: 广州
最新评论
-
lh870003574:
liuyes 写道//以下是方法的重载,避免都调用getStr ...
StringManager与单例模式 -
liuyes:
//以下是方法的重载,避免都调用getString(Strin ...
StringManager与单例模式 -
sconio:
谢谢分享,值得学习一下
StringManager与单例模式
文章列表
本文主要结合观察者模式,讲述Tomcat的生命周期管理。Tomcat的生命周期管理机制设计的非常优雅,在Tomcat启动时,只需要启动一个Server组件,就会启动所有的容器及对应的组件,并且触发这些容器的监听者,完成启动过程的设置。可以说是“一键式”启动的。停止过程也是一样。
本文首先简单介绍Tomcat中容器,组件及监听类的功能。因为Tomcat的生命周期管理应用了观察者模式,所以接下来会分析观察者模式,最后结合观察者模式及Tomcat源代码,详细说明Tomcat的生命周期管理。
一、几种基本的容器,组件及事件监听类(Listener)
在tomcat 源代码中,有这样一个实用类: org.apache.catalina.util.StringManager,基本上每个tomcat组件(如:connector, container, realm, loader, logger等)都会用到它。这是一个管理异常消息的helper class。
像tomcat这样的Servlet容器,异常消息无论是对系统管理员或者程序员都非常重要。管理员可以通过异常消息,快速定位错误。而对于程序异常,tomcat将异常消息封装到ServletException,来告知程序员Servlet中的错误。
Tomcat ...
GoF
定义:GoF(Gang of Four),中文名——四人组。GoF是一种设计模式。
GoF的起源
《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995)。这几位作者常被称为"四人组(Gang of Four)",而这本书也就被称为"四人组(或 GoF)"书。 在《设 ...
首先 classpath是指 WEB-INF文件夹下的classes目录解释classes含义:1.存放各种资源配置文件 eg.init.properties log4j.properties struts.xml2.存放模板文件 eg.actionerror.ftl3.存放class文件 对应的是项目开发时的src目录编译文件总结:这是一个定位资源的入口如果你知道开发过程中有这么一句话:惯例大于配置 那么也许你会改变你的想法对于第二个问题
ServletActionContext.getServletContext().getRealPath("/");
Comparator可以让我们对复杂的类型进行自定义排序,如按对象的某个属性降序排序,功能很强大,使用起来也方便
只需要简单的实现Comparator接口
定义:
class ComparatorHDFileUserInfo implements Comparator<ScholatHDFileUseInfo>{
public int compare(ScholatHDFileUseInfo o1, ScholatHDFileUseInfo o2) {
return o1.getTotalSize().compareTo(o2.ge ...
1、servletcontext主要用在servlet中,当然也可以在jsp中使用; 2、application只在jsp页面中使用; 3、application和servletcontext都保存容器的全局信息; 4、application是对servletcontext在jsp中应用的包装,因此它们其实表示的是同一个对象,用application保存的属性可以用servletcontext来读取,反之亦同; 5、在jsp中可以直接使用application,也可以用getServletContext()方法来获得servletcontext对象,此对象的使用和applicatio ...
具体的访问权限表如下: 对于在同一个包(package)中的类: 声明类型 被继承 被存取 default 可以 可以 public 可以 可以 protected 可以 可以 private 不可以 不可以 对于不在同一个包(package)中的类: 声明类型 被继承 被存取 default 不可以 不可以 public ...
空字符串与null区别
" "分配了内存 ;null没有调用null的字符串的方法会抛空指针异常。""是一个字符串(String).它在内存中是存在的.它可以使用Object对象中的方法(如"".toString();"".equals()) 而null它是一 ...
package com.scnulh.util;
import java.util.List;
import java.io.File;
import java.io.FilenameFilter;
import java.util.Arra
package com.scnulh.util;
import java.util.Arrays;
import java.util.Collection;
public class PPrint {
package com.scnulh.util;
import java.util.List;
import java.io.File;
import java.io.FilenameFilter;
import java.util.Arra
Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流....本文的目的是为大家做一个简要的介绍。
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。
Java中的流分为两种,一种是字 ...