原创 Jdev go to file extension

When doing EBS development, i found it painful to use JDev with OA extension, it is pretty old version for we are still

原创 tomcat解析(五)Digester(一)

此類用於讀取xml文件並根據xml的結構生成相對應的對象結構,可以想象有點象DOM一樣的,但主要使用的技術爲SAX,即基於事件的XML解析,再配合TOMCAT將對象生成及配置動作進行抽象化(即將相同的東西抽象出來)而成的org.apach

原创 tomcat解析(三)bootstrap.load.start

上一篇講到TOMCAT啓動的時候調用了bootstrap.init()方法來初始化一些將要用到的環境變量及對象,其中最重要的是實例化一個org.apache.catalina.startup.Catalina對象,而該對象則負責了後續整個

原创 tomcat解析(十八)對客戶請求的處理2

當我們在web.xml裏配置了對系統資源訪問的保護後,每次客戶端發起訪問都需要經過AuthenticatorBase及其子類的校驗,大多共用的處理放在AuthenticatorBase中,其它獨立於各種校驗方式的處理放於其子類中,讓我們先

原创 tomcat解析(十四)web.xml解析

對於web.xml文件的解析所使用的Rule爲WebRuleSet類,查看其addRuleInstances可得知其設置的具體Rule內容,如下:     /** * <p>Add the set of Rule instanc

原创 tomcat解析(四)Catalina.load.start

<一>load該方法內容如下: /* * Load using arguments */ public void load(String args[]) { try {

原创 tomcat解析(十七)Http11Processor

Http11Processor類的構造方法會做一些初始化的動作,但這些內容不在本文講解範圍內,因此這裏先不細講,有興趣的同志可自已瞭解一下哈  public Http11Processor(int headerBufferSize, JI

原创 tomcat解析(二)Bootstrap.init

org.apache.catalina.startup.Bootstrap沒有靜態塊,因此將直接運行其main方法的,main方法如下: /** * Main method, used for testing only.

原创 tomcat解析(六)Digester(二)startElement

在用SAX對XML進行解析時,需要設置相應的ContentHandler實現,該對象將用於響應各種xml解析的事件,如開始標籤時會調用其StartElement方法,遇到標籤體時會調用其characters方法,而結束標籤會調用其eneE

原创 tomcat解析(九)StandardServer.initialize.start

在前幾篇文章中已說到整個服務器的啓動已託管給該類的initialize及start方法,下面我們來看一下這兩個方法的內容一.initialize  /** * Invoke a pre-startup initializatio

原创 tomcat解析(十二)StandardHost

首先看構造方法:        /** * Create a new StandardHost component with the default basic Valve. */ public Standar

原创 tomcat解析(-)學習如何寫一個servlet服務器

       你有沒有想過,如果由你來編寫一個Servlet服務器,你會怎麼寫,當然先假定你已經閱讀了servlet服務器的規範,知道它應該如何組織自己以及如何對請求做出響應等.對於已有一定j2ee工作經驗的人來說(先假定它完全沒看到se

原创 tomcat解析(八)Catalina.createStartDigester

在tomcat解析(四)中我們講到了Catalina的load及start方法啓動及準備整個tomcat服務器,而這兩個方法最終又將該任務交由server的initialize及start方法處理,該變更將引用Server類的實例,但初始

原创 tomcat解析(十一)StandardEngine.start

首先是構造方法:  /** * Create a new StandardEngine component with the default basic Valve. */ public StandardEn

原创 tomcat解析(十)StandardService.initialize.start

先上代碼:一.initialize  /** * Invoke a pre-startup initialization. This is used to allow connectors * to bind to r