tomcat
文章平均质量分 84
cunyan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
附:JAVA事件处理--观察者模式
简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。 观察者模式的结构 观察者(Observer)模式是对象的行为型模式,又叫做发表-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-收听者(Source/List...原创 2012-11-12 10:33:50 · 218 阅读 · 0 评论 -
21,tomcat关闭钩子
在很多环境下,在关闭应用程序的时候需要做一些清理工作。问题在于,用户并不是经常的按照要求的流程来退出Java提供了一种优雅的方式供程序员来使用,这样可以保证清理代码的执行。使用一个关闭钩子(shutdown hool)来保证清理代码一定会被执行。在Java中,虚拟机遇到两种事件的时候会关闭虚拟机:· 应用程序正常退出如System.exit方法被调用或者最后一个非守护退出。 · 用户突然强制终止虚...原创 2012-11-22 20:35:28 · 383 阅读 · 0 评论 -
20,tomcat的XML解析---digester
tomcat使用server.xml配置属性信息Tomcat使用开源工具Digester来讲XML元素转换为Java对象Digester是Apache Jakarta项目下面的开源项目org.apache.commons.digester.Digester类是Digester库里的主类。使用它来解析XML文档。对于该文档中的每一个元素,Digester都检查它是否需要做点事情,只需决定Digest...原创 2012-11-22 20:07:35 · 221 阅读 · 0 评论 -
19tomcat的服务器和服务
Server服务器Server接口表示整个Catalina Servlet容器以及其它组件。它提供了一种优雅的机制来启动和停止整个系统。不必再单独的启动连接器和容器了。当服务器启动的时候,它启动它内部的所有组件。然后无限期的等待关闭命令,如果你想要关闭系统,发送一个关闭命令道指定端口即可。当服务器收到正确的关闭指令后,它停止所有组件的服务。服务器还使用了另外一个组件,服务(se...原创 2012-11-20 20:10:15 · 136 阅读 · 0 评论 -
18,tomcat的主机(host)和引擎
如果需要在一个Tomcat部署中部署多个上下文,需要使用一个主机引擎表示整个Catalina 的Servlet引擎。如果使用的话,它位于容器等级的最高层可以添加到引擎上的容器包括org.apache.catalina.Host 或者org.apache.catalina.Context。在一个Tomcat部署中,默认的容器是引擎。Host相关的StandardHost、StandardHost...原创 2012-11-16 09:13:53 · 295 阅读 · 0 评论 -
附,listener、 filter、servlet 加载顺序及其详解
一、 1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener> 和<context-param>两个结点。 2、紧急着,容创建一个ServletContext(servlet上下文),这个 web项目的所有部分都将共享这个上下文。 3、容器将<context-param>转换为键值对,并交给 servletContex...原创 2012-11-15 09:10:31 · 154 阅读 · 0 评论 -
17,tomcat中StandardContext
一个上下文容器(Context)代表一个web应用,每一个上下文包括多个包装器(Wrapper),每个包装器代表一个Servlet上下文还需要其它的一些组件如加载器和管理器Context接口的标准实现,org.apache.catalina.core.StandardContext类StandardContext配置创建一个StandardContext实例之后,必须调用它的start方法,这...原创 2012-11-15 08:59:07 · 266 阅读 · 0 评论 -
16,tomcat中StandardWrapper实现
Wrapper接口在Catalina中的标准实现StandardWrapper类的详细实现过程。一共有四种容器:engine(引擎),host(主机),context(上下文)和wrapper(包装器)一个上下文一般包括一个或者多个包装器,每一个包装器表示一个servlet方法调用序列Sequence of Methods Invocation对于每一个连接,连接器都会调用关联容器的invoke方...原创 2012-11-14 18:28:13 · 283 阅读 · 0 评论 -
15,tomcat安全
有些web应用程序的内容是有限制的,只允许有权限的用户在提供正确的用户名和密码的情况下才允许访问。Servlet通过配置部署文件web.xml来对安全性提供技术支持一个servlet通过一个叫authenticator的阀门(valve)来支持安全性限制。当容器启动的时候,authenticator被添加到容器的流水线上authenticator阀门会在包装器阀门之前被调用。authenticat...原创 2012-11-14 09:02:44 · 117 阅读 · 0 评论 -
14,tomcat session管理
Catalina通过一个叫管理器的组建来完成Session的管理。该管理器由一个接口Interface表示。一个管理器通常和一个上下文容器相互管理,它负责创建,更新以及销毁session对象并给任何请求组件返回一个合法的session.一个servlet可以使用getSession方法获得一个session对象,该方法在javax.servlet.http.HttpServletRequest...原创 2012-11-14 09:01:39 · 115 阅读 · 0 评论 -
13.tomcat加载器
库(repository)和源(resources)。库表示加载器查找的地方,源表示加载器中的DirContext对象,它的文档基(document base)指向了上下文的文档基。一个servlet容器需要一个定制的容器,而不是简单的使用系统的加载器如果使用系统的加载器来加载servlet和其他需要的类,这样servlet就可以进入Java虚拟机CLASSPATH环境下面的任何类和类库,这会...原创 2012-11-13 13:21:13 · 241 阅读 · 0 评论 -
12,tomcat日志处理
日志系统是一个记录信息的组件。在Catalina中,日志系统是一个相对简单的跟容器相关联的组件。Tomcat在org.apache.catalina.logger包中提供了多个不同的日志系统Logger接口一个日志系统必须实现org.apache.catalina.Logger接口 public interface Logger { // ----------------...原创 2012-11-13 13:15:38 · 157 阅读 · 0 评论 -
1,servlet容器如何工作
servlet容器是一个复杂的系统,不过,一个servlet容器要为一个servlet的请求提供服务,基本上有三件事要做。1,创建一个request对象并填充那些可能被所引用的servlet使用的信息,如参数,头部,cooike,查询字符串,URI等。一个request是一个servletRequest的实例。2,创建一个response对象,所引用的的servlet使用它来给客户端发送相...原创 2012-11-07 16:26:24 · 172 阅读 · 0 评论 -
11.tomcat生命周期
Catalina由多个组件组成,当Catalina启动的时候,这些组件也会启动。当Catalina停止的时候,这些组件也必须有机会被清除。例如,当一个容器停止工作的时候,它必须唤醒所有加载的servlet的destroy方法,而session管理器要保存session到二级存储器中。保持组件启动和停止一致的的机制通过实现org.apache.catalina.Lifecycle接口来实现。一...原创 2012-11-12 10:26:43 · 133 阅读 · 0 评论 -
10.容器
容器是一个处理用户servlet请求并返回对象给web用户的模块。org.apache.catalina.Container接口定义了容器的形式,有四种容器:Engine(引擎), Host(主机), Context(上下文), 和 Wrapper(包装器)。容器接口一个容器必须实现org.apache.catalina.Container接口传递一个Container实例给Connec...原创 2012-11-12 10:12:59 · 151 阅读 · 0 评论 -
9.Tomcat的默认连接器
Tomcat连接器是一个可以插入servlet容器的独立模块,已经存在相当多的连接器了,包括Coyote, mod_jk, mod_jk2和mod_webapp一个Tomcat连接器必须符合以下条件:1. 必须实现接口org.apache.catalina.Connector。 2. 必须创建请求对象,该请求对象的类必须实现接口org.apache.catalina.Request。 3. 必须创...原创 2012-11-12 08:52:17 · 315 阅读 · 0 评论 -
8.连接器
一个可以创建更好的请求和响应对象的连接器,一个符合Servlet 2.3和2.4规范的连接器必须创建javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse,并传递给被调用的servlet的service方法,连接器解析HTTP请求头部并让servlet可以获得头部, cookies, 参数名/值等等T...原创 2012-11-12 08:46:07 · 135 阅读 · 0 评论 -
7,Facade外观模式
外观模式:为子系统中的一组接口提供了一个一致的界面,此模式定义了一个高层的接口,这个接口使得一子系统更加容易使用。它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。体现了依赖倒转和迪米特法则 class SubSystemOne { public void methodO...原创 2012-11-08 11:28:45 · 103 阅读 · 0 评论 -
6,一个简单的servlet容器
总的来说,一个全功能的servlet容器会为servlet的每个HTTP请求做下面一些工作:当第一次调用servlet的时候,加载该servlet类并调用servlet的init方法(仅仅一次)。 对每次请求,构造一个javax.servlet.ServletRequest实例和一个javax.servlet.ServletResponse实例。调用servlet的service方法,同时传递Se...原创 2012-11-08 11:10:31 · 122 阅读 · 0 评论 -
5.javax.servlet.Servlet接口
javax.servlet.Servlet接口Servlet编程是通过javax.servlet和javax.servlet.http这两个包的类和接口来实现的。其中一个至关重要的就是javax.servlet.Servlet接口了。所有的servlet必须实现实现或者继承实现该接口的类。 Servlet接口有五个方法,其用法如下。public void init(ServletConfig ...原创 2012-11-08 09:18:15 · 233 阅读 · 0 评论 -
4,一个简单的tomcat
流程图如下原创 2012-11-07 18:10:19 · 126 阅读 · 0 评论 -
3.ServerSocket 与 Socket的区别
1.1 ServerSocket类创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如:ServerSocket MyListener=new ServerSocket(600);这里指定提供监听服务的端口是600,一台计算机可以同时提供多个服务,这些不同的服务之间通过端口号来区别,不同的端口号上提供不同的服务。为了随时监听可能的Client请求,执...原创 2012-11-07 16:56:59 · 362 阅读 · 0 评论 -
2,http协议
一个http请求包括三个组成部分1,方法---统一资源标示符(URI) 协议/版本2,请求的头部3,请求的主体下面是一个例子POST /examples/default.jsp HTTP/1.1Accept:text/plain;text/htmlAccept-Language:en-gbConnection:Keep-AliveHosst:localhostUser-Agent:Mozil...原创 2012-11-07 16:29:05 · 139 阅读 · 0 评论
分享