一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Tomcat - servlet和tomcat_動力節點Java學院整理

servlet和tomcat_動力節點Java學院整理

2021-08-23 18:07pirateleo Tomcat

這篇文章主要介紹了servlet和tomcat,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Servlet是什么
為了能讓Web服務器與Web應用這兩個不同的軟件系統協作,需要一套標準接口,Servlet就是其中最主要的一個接口。

規定:

Web服務器可以訪問任意一個Web應用中實現Servlet接口的類。

Web應用中用于被Web服務器動態調用的程序代碼位于Servlet接口的實現類中。

SUN公司(現在被Oracle收購了……)制定了Web應用于Web服務器進行協作的一系列標準Java接口(統稱為Java Servlet API)。

SUN公司還對Web服務器發布及運行Web應用的一些細節做了規約。SUN公司把這一系列標準Java接口和規約統稱為Servlet規范。

Servlet是一種運行在服務器上的小插件。

Servlet容器是什么

在Servlet規范中,把能夠發布和運行JavaWeb應用的Web服務器稱為Servlet容器,他的最主要特稱是動態執行JavaWeb應用中的Servlet實現類中的程序代碼。

Tomcat是什么

Tomcat是Servlet容器,同時也是輕量級的Web服務器。

Apache Server、Microsoft IIS、Apache Tomcat都是Web服務器。

Tomcat作為Web服務器時,主要負責實現HTTP傳輸等工作。

Tomcat作為Servlet容器時,主要負責解析Request,生成ServletRequest、ServletResponse,將其傳給相應的Servlet(調用service( )方法),再將Servlet的相應結果返回。

Tomcat組成結構

servlet和tomcat_動力節點Java學院整理

Server,代表整個Servlet容器組件,是Tomcat的頂層元素。其中可以包含一到多個Service;

Service,包含一個Engine,以及一到多個Connector;

Connector,代表和客戶端程序實際交互的組件,負責接收客戶請求,以及向客戶返回響應結果;

Engine,處理同一個Service中所有Connector接收到的客戶請求;

Host,在Engine中可以包含多個Host,每個Host定義了一個虛擬主機,它可以包含一個到多個Web應用;

Context,一個Host中可以包含多個Context,每個Context代表了運行在虛擬主機上的單個Web應用。

這些字段都在conf/server.xml中配置,下面是一段apache tomcat 6.0.36默認的server.xml:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?xml version='1.0' encoding='utf-8'?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements. See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License. You may obtain a copy of the License at
 
   http://www.apache.org/licenses/LICENSE-2.0
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<!-- Note: A "Server" is not itself a "Container", so you may not
   define subcomponents such as "Valves" at this level.
  Documentation at /docs/config/server.html
 -->
<Server port="8005" shutdown="SHUTDOWN">
 
 <!--APR library loader. Documentation at /docs/apr.html -->
 <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
 <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
 <Listener className="org.apache.catalina.core.JasperListener" />
 <!-- Prevent memory leaks due to use of particular java/javax APIs-->
 <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
 <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
 <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
 <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
 
 <!-- Global JNDI resources
    Documentation at /docs/jndi-resources-howtohtml
 -->
 <GlobalNamingResources>
  <!-- Editable user database that can also be used by
     UserDatabaseRealm to authenticate users
  -->
  <Resource name="UserDatabase" auth="Container"
       type="org.apache.catalina.UserDatabase"
       description="User database that can be updated and saved"
       factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
       pathname="conf/tomcat-users.xml" />
 </GlobalNamingResources>
 
 <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" Note: A "Service" is not itself a "Container", 
    so you may not define subcomponents such as "Valves" at this level.
    Documentation at /docs/config/service.html
  -->
 <Service name="Catalina">
  
  <!--The connectors can use a shared executor, you can define one or more named thread pools-->
  <!--
  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
    maxThreads="150" minSpareThreads="4"/>
  -->
   
   
  <!-- A "Connector" represents an endpoint by which requests are received
     and responses are returned. Documentation at :
     Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
    Java AJP Connector: /docs/config/ajp.html
    APR (HTTP/AJP) Connector: /docs/apr.html
     Define a non-SSL HTTP/1 Connector on port 8080
  -->
  <Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" />
  <!-- A "Connector" using the shared thread pool-->
  <!--
  <Connector executor="tomcatThreadPool"
        port="8080" protocol="HTTP/1.1" 
        connectionTimeout="20000" 
        redirectPort="8443" />
  -->      
  <!-- Define a SSL HTTP/1.1 Connector on port 8443
     This connector uses the JSSE configuration, when using APR, the 
     connector should be using the OpenSSL style configuration
     described in the APR documentation -->
  <!--
  <Connector port="8443" protocol="HTTP/1" SSLEnabled="true"
        maxThreads="150" scheme="https" secure="true"
        clientAuth="false" sslProtocol="TLS" />
  -->
 
  <!-- Define an AJP 1.3 Connector on port 8009 -->
  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
 
 
  <!-- An Engine represents the entry point (within Catalina) that processes
     every request The Engine implementation for Tomcat stand alone
     analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host).
    Documentation at /docs/config/engine.html -->
 
  <!-- You should set jvmRoute to support load-balancing via AJP ie :
  <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">     
  -->
  <Engine name="Catalina" defaultHost="localhost">
 
   <!--For clustering, please take a look at documentation at:
     /docs/cluster-howto.html (simple how to)
     /docs/config/cluster.html (reference documentation) -->
   <!--
   <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
   -->    
 
   <!-- The request dumper valve dumps useful debugging information about
      the request and response data received and sent by Tomcat.
      Documentation at: /docs/config/valve.html -->
   <!--
   <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
   -->
 
   <!-- This Realm uses the UserDatabase configured in the global JNDI
      resources under the key "UserDatabase". Any edits
      that are performed against this UserDatabase are immediately
      available for use by the Realm. -->
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
       resourceName="UserDatabase"/>
 
   <!-- Define the default virtual host
      Note: XML Schema validation will not work with Xerces 2.2.
    -->
   <Host name="localhost" appBase="webapps"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
 
    <!-- SingleSignOn valve, share authentication between web applications
       Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
 
    <!-- Access log processes all example.
       Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
        prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
    -->
 
   </Host>
  </Engine>
 </Service>
</Server>

 

延伸 · 閱讀

精彩推薦
  • Tomcat如何查看tomcat的控制臺輸出的方法

    如何查看tomcat的控制臺輸出的方法

    這篇文章主要介紹了如何查看tomcat的控制臺輸出的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    CaiCaiNeo11972021-08-29
  • Tomcat學習javaweb如何配置Tomcat的熱啟動

    學習javaweb如何配置Tomcat的熱啟動

    學習javaweb的時候每次更改項目都需要重新部署項目,如此一來比較麻煩,使用tomcat的熱啟動就可以解決這個問題...

    whsnow12072021-08-04
  • TomcatTomcat服務器搭建教程

    Tomcat服務器搭建教程

    這篇文章主要為大家詳細介紹了Tomcat服務器搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Watom_66310452021-08-20
  • TomcatTomcat正常訪問localhost報404問題解決

    Tomcat正常訪問localhost報404問題解決

    這篇文章主要介紹了Tomcat正常訪問localhost報404問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    小明Style5592021-09-23
  • Tomcattomcat 6.0.20在一個機器上安裝多個服務的方法

    tomcat 6.0.20在一個機器上安裝多個服務的方法

    本文主要為大家介紹tomcat 6.0.20在一個機器上安裝多個服務的方法,當前前提是你已經可以同時運行他們了,他們的端口不能相同,這里只是解釋如何把它們...

    Tomcat教程網10052021-08-03
  • Tomcat如何將Tomcat設置為自動啟動的服務最快捷方法

    如何將Tomcat設置為自動啟動的服務最快捷方法

    這篇文章主要介紹了如何將Tomcat設置為自動啟動的服務最快捷方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    鋒齊葉落5352021-09-03
  • TomcatTomcat目錄結構詳解

    Tomcat目錄結構詳解

    Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,學習tomcat目錄結構十分有必要,今天小編給大家帶來了詳細教程,感興趣的朋友一起看看吧...

    ThinkWon6712021-09-09
  • Tomcat淺談Tomcat多層容器的設計

    淺談Tomcat多層容器的設計

    Tomcat的容器用來裝載Servlet。那Tomcat的Servlet容器是如何設計的呢,本文就詳細的來介紹一下,具有一定的參考價值,感興趣的可以了解一下...

    JavaEdge.9612021-09-26
主站蜘蛛池模板: 日本xxxx18vr69 | 国产最强大片免费视频 | 亚洲大片免费观看 | 精品成人片深夜 | 国产香蕉在线视频 | 久久一er精这里有精品 | 亚洲成综合| 国内外成人在线视频 | 午夜AV内射一区二区三区红桃视 | 午夜熟女插插XX免费视频 | 青草青草视频2免费观看 | 天堂在线观看中文字幕 | 国产在线看片护士免费视频 | 亚洲精品国精品久久99热 | 国产一卡2卡3卡四卡精品网站 | 色帝国亚洲欧美在线蜜汁tv | 99热网址| 法国老妇性xx在线播放 | 99久久99热久久精品免 | 欧美香蕉人人人人人人爱 | 妹妹骑上来蹭着蹭着就射了 | a韩剧 | 精品一区heyzo在线播放 | 99热精品在线播放 | 无码区国产区在线播放 | 国产性做久久久久久 | 天堂8在线天堂资源在线 | 午夜爱爱爱爱爽爽爽视频网站 | 亚洲天堂影视 | 国产免费视 | 人成午夜免费大片在线观看 | 韩国免费视频 | 翁熄性放纵交换300章 | 成熟女人50岁一级毛片不卡 | 大妹子最新视频在线观看 | 98色花堂永久地址国产精品 | 日本道色综合久久影院 | 成人免费视屏 | 国产精品嫩草影院在线看 | 黑人好大好硬好深好爽想要h | 成人四虎|