乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      tomcate

       昵稱3354411 2010-09-14

      tomcat的結(jié)構(gòu)

      tomcat的結(jié)構(gòu)

      <Server>                                    頂層類元素:可包含多個Service

             <Service>                            頂層類元素:可包含一個Engine,多個Connector

                    <Connector/>               連接器類元素:代表通信接口

                    <Engine>                      容器類元素:為特定的Service組件處理所有客戶請求,

                                                       可包含多個Host。

                           <Host>                  容器類元素:為特定的虛擬主機(jī)處理所有客戶請求

                                                       可包含多個Context。

                                  <Context>      容器類元素:為特定的Web應(yīng)用處理所有客戶請求

                                  </Context>

                           </Host>

                    </Engine>

             </Service>

      </Server>

      Tomcat的工作模式

      獨立的Servelet容器:

      進(jìn)程內(nèi)的Servlet容器:JNI通信機(jī)制

      進(jìn)程外的Servlet容器:IPC通信機(jī)制

      Tomcat的環(huán)境變量

      Windows環(huán)境:

      JAVA_HOME:Java安裝根目錄(如:c:\j2sdk1.4.2)。

      CATALINA_HOME:Tomcat安裝的根目錄(如:c:\tomcat 5.0)。

      Linux環(huán)境:(假設(shè)Java安裝在/home/java/j2sdk1.4.2,Tomcat安裝在/home/tomcat下)

      SHELL類型

      設(shè)置JAVA_HOME環(huán)境變量的命令

      bash

      JAVA_HOME=/home/java/j2sdk1.4.2;export JAVA_HOME

      tsh

      Setenv JAVA_HOME /home/java/j2sdk1.4.2

      SHELL類型

      設(shè)置CATALINA_HOME環(huán)境變量的命令

      bash

      CATALINA_HOME=/home/tomcat;export CATALINA_HOME

      tsh

      Setenv CATALINA_HOME /home/tomcat

      Tomcat運行腳本(catalina.bat的使用方法)

      命令行參數(shù)

      描述

      start

      在新的DOS窗口啟動TOMCAT服務(wù)器

      run

      在當(dāng)前DOS窗口啟動TOMCAT服務(wù)器

      debug

      在跟蹤模式下啟動TOMCAT服務(wù)器

      stop

      關(guān)閉TOMCAT服務(wù)器

                                       創(chuàng)建和發(fā)布Web應(yīng)用

      Tomcat的目錄結(jié)構(gòu)

      目錄

      描述

      /bin

      存放Windows平臺以及Linux平臺上啟動和關(guān)閉Tomcat的腳本文件

      /conf

      存放Tomcat服務(wù)器的各種配置文件,其中最重要的配置文件是server.xml

      /server

      包含3個子目錄:classes、lib和、webapps

      /server/lib

      存放Tomcat服務(wù)器所需的各種Jar文件(其它應(yīng)用不可訪問)

      /server/webapps

      存放Tomcat自帶的兩個Web應(yīng)用:admin應(yīng)用和manager應(yīng)用

      /common/lib

      存放Tomcat服務(wù)器以及所有Web應(yīng)用都可以訪問的Jar文件

      /shared/lib

      存放所有Web應(yīng)用都可以訪問的Jar文件(Tomcat不可訪問)

      /logs

      存放Tomcat日志文件

      /webapps

      當(dāng)發(fā)布Web應(yīng)用時,默認(rèn)情況下把Web應(yīng)用文件放于此目錄下

      /work

      Tomcat把由JSP生成的Servlet放于此目錄下

      可以在Java Web應(yīng)用下的WEB-INF目錄中建立lib子目錄,存放各種Jar文件,這些Jar文件只能被當(dāng)前Web應(yīng)用訪問。

      在運行過程中,Tomcat類裝載器先裝載classes目錄下的類,再裝載lib目錄下的類。如果兩個目錄下存在同名的類,classes目錄下的類具有優(yōu)先權(quán)。

      Web應(yīng)用的目錄結(jié)構(gòu)

      目錄

      描述

      /helloapp

      根目錄,所有的JSP和HTML文件都存放于此目錄下

      /helloapp/WEB-INF

      存放Web應(yīng)用的發(fā)布描述文件web.xml

      /helloapp/WEB-INF/classes

      存放各種class文件,Servlet類文件也放于此目錄下

      /helloapp/WEB-INF/lib

      存放Web應(yīng)用所需的各種Jar文件。例如:JDBC驅(qū)動Jar

      關(guān)于Context的一點體會

      Context 可以直接加在Server.xml的Host中,可是據(jù)我的觀察,如果我們通過Tomcat的可視化管理界面(Tomcat Administration)來產(chǎn)生Context,就會發(fā)現(xiàn),Tomcat5.0會自動在..\Tomcat 5.0\conf\Catalina\localhost下面添加一個以Context名為文件名的Xml文件(如:你的Context叫做 "/Hello",那它就會產(chǎn)生一個"Hello.xml"的文件)。并且,如果你是第一次使用Tomcat Administration,它會把它的Server.xml及其它現(xiàn)存的所有Context都進(jìn)行一次重寫(表現(xiàn)為:原來Server.xml中的注釋全部沒有了)。對于Server.xml的改寫,它還會產(chǎn)生一個備份文件。而且我發(fā)現(xiàn),只要更改過Context,就會重寫一次Server.xml。

      Context元素的屬性

      屬性

      描述

      path

      指定訪問該Web應(yīng)用的URL入口(可以隨便取名)

      docBase

      指定Web應(yīng)用的文件路徑,可以給定絕對路徑,也可以指定相對于Host的appBase屬性的相對路徑。如果Web采用開放目錄結(jié)構(gòu),則指定Web應(yīng)用的根目錄;如果Web應(yīng)用是個WAR文件,則指定WAR文件的路徑。

      reloadable

      如果這個屬性設(shè)為true,Tomcat服務(wù)器在運行狀態(tài)下會監(jiān)視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動。如果監(jiān)測到有class文件被更新,服務(wù)器會自動重新加載Web應(yīng)用。

      開發(fā)階段,將reloadable屬性設(shè)為true,有助于調(diào)試Servlet和其他的class文件。但是由于這一功能會加重服務(wù)器的運行負(fù)荷,因此建議在Web應(yīng)用的產(chǎn)品發(fā)布階段,將它改為false。

      <servlet>元素的屬性

      屬性

      描述

      <servlet-name>

      定義Sevlet的名字(可以隨便?。?/font>

      <servlet-class>

      指定實現(xiàn)這個Servlet的類

      <init-param>

      定義Servlet的初始化參數(shù)(包括參數(shù)名和參數(shù)值),一個<servlet>可以有多個<init-param>

      <load-on-startup>

      指定Web應(yīng)用啟動時,裝載Servlet的次序。當(dāng)這個值為正數(shù)或零,Servlet容器先加載數(shù)值小的Servlet,如果這個值為負(fù)或者沒有設(shè)定,那么Servlet容器將在Web客戶首次訪問Servlet時加載

      配置虛擬主機(jī)

                                       Servlet技術(shù)

      Servlet是與平臺無關(guān)的服務(wù)器端組件,它可以運行在Servlet容器中。

      Servlet框架是由兩個Java包組成:javax.servlet和javax.servlet.http。

      Servlet的框架的核心里javax.servlet.Servlet接口,所有的Servlet都必須實現(xiàn)這一接口。

      有3個方法代表了Servlet的生命周期:

      l           init方法,負(fù)責(zé)初始化Servlet對象。

      l           service方法,負(fù)責(zé)響應(yīng)客戶的請求。

      l           destroy方法,當(dāng)Servlet對象退出生命周期時,負(fù)責(zé)釋放占用的資源。

      Servlet類必須擴(kuò)展以下兩個類中的一個。

      l           擴(kuò)展GenericServlet類

      必須實現(xiàn)service方法,因為GenericServlet類中的service方法被聲明為抽象方法。

      Public abstract void service(ServletRequest request,ServletResponse response) thows ServletException,IOException

      l           擴(kuò)展HttpServlet類

      HTTP的請求方式包括DELETE、GET、OPTION、POST、PUT、TRACT,在HttpServlet類中分別提供了相應(yīng)的doXXX()方法,我們只需要重寫相應(yīng)方法即可。

      下面,介紹一下ServletRequest和ServletResponse接口。

      l           ServletRequest接口

      它封裝了客戶請求信息,如客戶請求方式、參數(shù)名和參數(shù)值、客戶端正在使用的協(xié)議,以及發(fā)出客戶請求的遠(yuǎn)程主機(jī)信息等。還為Servlet提供了直接以二進(jìn)制方式讀取客戶請求數(shù)據(jù)流的ServletInputStream。

      ServletRequest接口的部分方法

      方法名

      描述

      getAttribute

      根據(jù)參數(shù)給定的屬性名返回屬性值。

      getContentType

      返回客戶請求數(shù)據(jù)的MIME類型

      getInputStream

      返回以二進(jìn)制數(shù)方式直接讀取客戶請求數(shù)據(jù)的輸入流

      getParameter

      根據(jù)給定的參數(shù)名返回參數(shù)值

      getRemoteAddr

      返回遠(yuǎn)程客戶主機(jī)的IP地址

      getRemoteHost

      返回遠(yuǎn)程客戶主機(jī)名

      getRemotePort

      返回遠(yuǎn)程客房主機(jī)端口

      setAttribute

      在ServletRequest中設(shè)置屬性(包括屬性名和屬性值)

      l           ServletResponse接口

      為Servlet提供了返回結(jié)果的方法。它允許Servlet設(shè)置返回數(shù)據(jù)的長度和MIME類型,并且提供輸出流ServletOutputStream。

      ServletResponse接口的部分方法

      方法名

      描述

      getOutputStream

      返回可以向客戶端發(fā)送二進(jìn)制數(shù)據(jù)的輸出流對象ServletOutputStream

      getWriter

      返回可以向客戶端發(fā)送字符數(shù)據(jù)的PrintWriter對象

      getCharacterEncoding

      返回Servlet發(fā)送的響應(yīng)數(shù)據(jù)的字符編碼

      getContentType

      返回Servlet發(fā)送的響應(yīng)數(shù)據(jù)的MIME類型

      setCharacterEncoding

      設(shè)置Servlet發(fā)送的響應(yīng)數(shù)據(jù)的字符編碼

      setContentType

      設(shè)置Servlet發(fā)送的響應(yīng)數(shù)據(jù)的MIME類型

      Servlet的生命周期

      1. 初始化階段

      下列情形下Servlet容器裝載Servlet

      l           Servlet容器啟動時自動裝載某些Servlet

      l           在Servlet容器啟動后,客戶首次向Servlet發(fā)出請求

      l           Servlet的類文件被更新后,重新裝載Servlet

      Servlet是否在啟動時自動裝載Servlet,是由在web.xml中為Servlet設(shè)置的<load-on-startup>屬性決定的。

      Init方法有兩種形式:

      public void init(ServletConfig config) throws ServletException

      public void init() throws ServletException

      初始化階段,Servlet容器會為Servlet創(chuàng)建一個ServletConfig對象,用來存放Servlet的初始化配置信息,如Servlet的初始參數(shù)。如果Servlet類覆蓋了第一種帶參數(shù)的init方法,應(yīng)該先調(diào)用super.init(config)方法確保參數(shù)config引用 ServletConfig對象;如果覆蓋的是第二種不帶參數(shù)的init方法,可以不調(diào)用super.init()方法,如果要在init方法中訪問 ServletConfig對象,可以調(diào)用Servlet類的getServletConfig()方法。

      HTTP請求

      由3部分組成,分別是:

      l           請求方法URI協(xié)議/版本

      l           請求頭(Request Header)

      l           請求正文

      示例:

      GET /sample.jsp HTTP/1.1

      Accept:image/gif,image/jpeg,*/*

      Accept-Language:zh-cn

      Connection:Keep-Alive

      Host:locakhost

      User-Agent:Mozilla/4.0(compatible;MSIE5.01;Windows NT 5.0)

      Accept-Encoding:gzip,deflate

      userName=werqin&password=1234

      HTTP響應(yīng)

      由3部分組成,分別是:

      l           協(xié)議 狀態(tài)代碼 描述

      l           響應(yīng)頭(Response Header)

      l           響應(yīng)正文

      示例:

      HTTP/1.1 200 OK

      Server:ApacheTomcat/5.0.12

      Date:Mon,6 Oct 2003 13:23:42 GMT

      Content-Length:112

      <html>

      <head>

      <title>HTTP響應(yīng)示例</title>

      </head>

      <body>

      Hello HTTP!

      </body>

      </html>

      HttpServlet的功能

      它首先必須讀取HTTP請求的內(nèi)容。Servlet容器負(fù)責(zé)創(chuàng)建HttpRequest對象,并把HTTP請求信息封裝到HttpRequest對象中。

      HttpServletRequest的常用方法

      方法名

      描述

      getCookies()

      返回HTTP請求的Cookies

      getHeader(String name)

      返回參數(shù)指定的HTTP請求的Header數(shù)據(jù)

      getRequestURI()

      返回HTTP請求的URI

      getQueryString()

      返回HTTP請求數(shù)據(jù)中的查詢字符串

      getMethod()

      返回HTTP請求方法

      HttpServletResponse的常用方法

      方法名

      描述

      addCookie(Cookie cookie)

      向HTTP響應(yīng)中加入Cookie

      setHeader(String name,String value)

      設(shè)置HTTP響應(yīng)的Header,如果參數(shù)name對應(yīng)的Header已經(jīng)存在,則覆蓋原來的Header數(shù)據(jù)

      addHeader(String name,String value)

      向HTTP響應(yīng)中加入Header

      除了這兩張表列出的方法外,在HttpServletRequest的ServletRequest中提供了讀取客戶請求的通用方法,在HttpServletResponse的父類ServletResponse中提供了生成服務(wù)器響應(yīng)的通用方法。

      創(chuàng)建HttpServlet的步驟

      (1)擴(kuò)展HttpServlet抽象類.

      (2)覆蓋HttpServlet的部分方法,如覆蓋doGet()或doPost()方法。

      (3)獲取HTTP請求信息,例如通過HttpServletRequest對象來檢索HTML表單所提交的數(shù)據(jù)或URL上的查詢字符串。無論是HTML表單數(shù)據(jù)還是URL上的查詢字符串,在HttpServletRequest對象中都以參數(shù)名/參數(shù)值的形式存放,可以通過以下方法檢索參數(shù)信息:

      l           getParameterNames():返回一個Enumeration對象,它包含了所有的參數(shù)名信息。

      l           getParameter(String name):返回參數(shù)名name對象的參數(shù)值。

      l           getParameterValue():返回一個Enumeration對象,它包含了所有參數(shù)值信息。

      (4)生成HTTP響應(yīng)結(jié)果。

      通過利用HttpServletResponse對象的getWriter()方法,可以獲得一個PrintWriter對象。使用PrintWriter的print()或println()方法可以向客戶端發(fā)送字符串?dāng)?shù)據(jù)流。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多