tomcat配置文件server.xml詳解

目錄(?)[+]

元素名

屬性

解釋

server

port

指定一個端口,這個端口負責監聽關閉tomcat 的請求

shutdown

指定向端口發送的命令字符串

service

name

指定service 的名字

Connector ( 表示客戶端和service 之間的連接)

port

指定服務器端要創建的端口號,并在這個斷口監聽來自客戶端的請求

minProcessors

服務器啟動時創建的處理請求的線程數

maxProcessors

最大可以創建的處理請求的線程數

enableLookups

如果為true ,則可以通過調用request.getRemoteHost() 進行DNS 查詢來得到遠程客戶端的實際主機名,若為false 則不進行DNS 查詢,而是返回其ip 地址

redirectPort

指定服務器正在處理http 請求時收到了一個SSL 傳輸請求后重定向的端口號

acceptCount

指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理

connectionTimeout

指定超時的時間數( 以毫秒為單位)

Engine ( 表示指定service 中的請求處理機,接收和處理來自Connector 的請求)

defaultHost

指定缺省的處理請求的主機名,它至少與其中的一個host 元素的name 屬性值是一樣的

Context ( 表示一個web 應用程序,通常為WAR 文件,關于WAR 的具體信息見servlet 規范)

docBase

應用程序的路徑或者是WAR 文件存放的路徑

path

表示此web 應用程序的url 的前綴,這樣請求的url 為http://localhost:8080/path/ ****

reloadable

這個屬性非常重要,如果為true ,則tomcat 會自動檢測應用程序的/WEB-INF/lib 和/WEB-INF/classes 目錄的變化,自動裝載新的應用程序,我們可以在不重起tomcat 的情況下改變應用程序

host ( 表示一個虛擬主機 )

name

指定主機名

appBase

應用程序基本目錄,即存放應用程序的目錄

unpackWARs

如果為true ,則tomcat 會自動將WAR 文件解壓,否則不解壓,直接從WAR 文件中運行應用程序

Logger ( 表示日志,調試和錯誤信息)

className

指定logger 使用的類名,此類必須實現org.apache.catalina.Logger 接口

prefix

指定log 文件的前綴

suffix

指定log 文件的后綴

timestamp

如果為true ,則log 文件名中要加入時間,如下例:localhost_log.2001-10-04.txt

Realm ( 表示存放用戶名,密碼及role 的數據庫)

className

指定Realm 使用的類名,此類必須實現org.apache.catalina.Realm 接口

Valve ( 功能與Logger 差不多,其prefix 和suffix 屬性解釋和Logger 中的一樣)

className

指定Valve 使用的類名,如用org.apache.catalina.valves.AccessLogValve 類可以記錄應用程序的訪問信息

directory

指定log 文件存放的位置

pattern

有兩個值,common 方式記錄遠程主機名或ip 地址,用戶名,日期,第一行請求的字符串,HTTP 響應代碼,發送的字節數。combined 方式比common 方式記錄的值更多

<Server>元素

它代表整個容器,是Tomcat實例的頂層元素.由org.apache.catalina.Server接口來定義.它包含一個
<Service>元素.并且它不能做為任何元素的子元素.

server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> < Server port ="8005" shutdown ="SHUTDOWN" debug ="0" >

1>className指定實現org.apache.catalina.Server接口的類.默認值為
org.apache.catalina.core.StandardServer
2>port指定Tomcat監聽shutdown命令端口.終止服務器運行時,必須在Tomcat服務器所在的機器上發出
shutdown命令.該屬性是必須的.
3>shutdown指定終止Tomcat服務器運行時,發給Tomcat服務器的shutdown監聽端口的字符串.該屬性必須設


<Service>元素


該元素由org.apache.catalina.Service接口定義,它包含一個<Engine>元素,以及一個或多個
<Connector>,這些Connector元素共享用同一個Engine元素
???
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> < Service name ="Catalina" >
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> ??? < Service name ="Apache" >

?? 第一個<Service>處理所有直接由Tomcat服務器接收的web客戶請求.
?? 第二個<Service>處理所有由Apahce服務器轉發過來的Web客戶請求
1>className 指定實現org.apahce.catalina.Service接口的類.默認為
org.apahce.catalina.core.StandardService
2>name定義Service的名字

<Engine>元素


每個Service元素只能有一個Engine元素.元素處理在同一個<Service>中所有<Connector>元素接收到的客
戶請求.由org.apahce.catalina.Engine接口定義.
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> < Engine name ="Catalina" defaultHost ="localhost" debug ="0" >
1>className指定實現Engine接口的類,默認值為StandardEngine
2>defaultHost指定處理客戶的默認主機名,在<Engine>中的<Host>子元素中必須定義這一主機
3>name定義Engine的名字
在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>

<Host>元素


它由Host接口定義.一個Engine元素可以包含多個<Host>元素.每個<Host>的元素定義了一個虛擬主機.它
包含了一個或多個Web應用.
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> < Host name ="localhost" debug ="0" appBase ="webapps" unpackWARs ="true" autoDeploy ="true" >
1>className指定實現Host接口的類.默認值為StandardHost
2>appBase指定虛擬主機的目錄,可以指定絕對目錄,也可以指定相對于<CATALINA_HOME>的相對目錄.如果
沒有此項,默認為<CATALINA_HOME>/webapps
3>autoDeploy如果此項設為true,表示Tomcat服務處于運行狀態時,能夠監測appBase下的文件,如果有新有
web應用加入進來,會自運發布這個WEB應用
4>unpackWARs如果此項設置為true,表示把WEB應用的WAR文件先展開為開放目錄結構后再運行.如果設為
false將直接運行為WAR文件
5>alias指定主機別名,可以指定多個別名
6>deployOnStartup如果此項設為true,表示Tomcat服務器啟動時會自動發布appBase目錄下所有的Web應用
.如果Web應用中的server.xml沒有相應的<Context>元素,將采用Tomcat默認的Context
7>name定義虛擬主機的名字
在<Host>元素中可以包含如下子元素
<Logger>, <Realm>, <Value>, <Context>

<Context>元素


它由Context接口定義.是使用最頻繁的元素.每個<Context元素代表了運行在虛擬主機上的單個Web應用.
一個<Host>可以包含多個<Context>元素.每個web應用有唯一
的一個相對應的Context代表web應用自身.servlet容器為第一個web應用創建一個
ServletContext對象.
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> < Context path ="/sample" docBase ="sample" debug ="0" reloadbale ="true" >
1>className指定實現Context的類,默認為StandardContext類
2>path指定訪問Web應用的URL入口,注意/myweb,而不是myweb了事
3>reloadable如果這個屬性設為true, Tomcat服務器在運行狀態下會監視在WEB-INF/classes和Web-
INF/lib目錄CLASS文件的改運.如果監視到有class文件被更新,服務器自重新加載Web應用
3>cookies指定是否通過Cookies來支持Session,默認值為true
4>useNaming指定是否支持JNDI,默認值為了true
在<Context>元素中可以包含如下元素
<Logger>, <Realm>, <Resource>, <ResourceParams>

<Connector>元素


由Connector接口定義.<Connector>元素代表與客戶程序實際交互的給件,它負責接收客戶請求,以及向客
戶返回響應結果.
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> < Connector port ="8080" maxThread ="50" minSpareThreads ="25" maxSpareThread ="75"
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> enableLookups ="false" redirectPort ="8443" acceptCount ="100" debug ="0"
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> connectionTimeout ="20000" disableUploadTimeout ="true" />
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> < Connection port ="8009" enableLookups ="false" redirectPort ="8443" debug ="0"
server.xml?配置詳解[轉]" src="http://image13.360doc.com/DownloadImg/2010/08/0720/4484024_1.gif" alt="" align="top"> protocol ="AJP/1.3" />
第一個Connector元素定義了一個HTTP Connector,它通過8080端口接收HTTP請求;第二個Connector元素定
義了一個JD Connector,它通過8009端口接收由其它服務器轉發過來的請求.
Connector元素共用屬性
1>className指定實現Connector接口的類
2>enableLookups如果設為true,表示支持域名解析,可以把IP地址解析為主機名.WEB應用中調用
request.getRemoteHost方法返回客戶機主機名.默認值為true
3>redirectPort指定轉發端口.如果當前端口只支持non-SSL請求,在需要安全通信的場命,將把客戶請求轉
發至SSL的redirectPort端口
HttpConnector元素的屬性
1>className實現Connector的類
2>port設定Tcp/IP端口,默認值為8080,如果把8080改成80,則只要輸入http://localhost 即可
因為TCP/IP的默認端口是80
3>address如果服務器有二個以上ip地址,此屬性可以設定端口監聽的ip地址.默認情況下,端口會監聽服務
器上所有的ip地址
4>bufferSize設定由端口創建的輸入流的緩存大小.默認值為2048byte
5>protocol設定Http協議,默認值為HTTP/1.1
6>maxThreads設定在監聽端口的線程的最大數目,這個值也決定了服務器可以同時響應客戶請求的最大數
目.默認值為200
7>acceptCount設定在監聽端口隊列的最大客戶請求數量,默認值為10.如果隊列已滿,客戶必須等待.
8>connectionTimeout定義建立客戶連接超時的時間.如果為-1,表示不限制建立客戶連接的時間
JkConnector的屬性
1>className實現Connector的類
2>port設定AJP端口號
3>protocol必須設定為AJP/1.3
========================================================================================

<Server>元素
它代表整個容器,是Tomcat實例的頂層元素.由org.apache.catalina.Server接口來定義.它包含一個<Service>元素.并且它不能做為任何元素的子元素.

<Server port="8005" shutdown="SHUTDOWN" debug="0">

1> className指定實現org.apache.catalina.Server接口的類.默認值為org.apache.catalina.core.StandardServer
2> port指定Tomcat監聽shutdown命令端口.終止服務器運行時,必須在Tomcat服務器所在的機器上發出shutdown命令.該屬性是必須的.
3> shutdown指定終止Tomcat服務器運行時,發給Tomcat服務器的shutdown監聽端口的字符串.該屬性必須設置

?

<Service>元素
該元素由org.apache.catalina.Service接口定義,它包含一個<Engine>元素,以及一個或多個<Connector>,這些Connector元素共享用同一個Engine元素
???
??? <Service name="Catalina">
??? <Service name="Apache">
??? 第一個<Service>處理所有直接由Tomcat服務器接收的web客戶請求.
??? 第二個<Service>處理所有由Apahce服務器轉發過來的Web客戶請求

1> className 指定實現org.apahce.catalina.Service接口的類.默認為org.apahce.catalina.core.StandardService
2> name定義Service的名字

?

<Engine>元素
每個Service元素只能有一個Engine元素.元素處理在同一個<Service>中所有<Connector>元素接收到的客戶請求.由org.apahce.catalina.Engine接口定義.

<Engine name="Catalina" defaultHost="localhost" debug="0">

1> className指定實現Engine接口的類,默認值為StandardEngine
2> defaultHost指定處理客戶的默認主機名,在<Engine>中的<Host>子元素中必須定義這一主機
3> name定義Engine的名字

在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>

?

<Host>元素
它由Host接口定義.一個Engine元素可以包含多個<Host>元素.每個<Host>的元素定義了一個虛擬主機.它包含了一個或多個Web應用.

?<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">

1> className指定實現Host接口的類.默認值為StandardHost
2> appBase指定虛擬主機的目錄,可以指定絕對目錄,也可以指定相對于<CATALINA_HOME>的相對目錄.如果沒有此項,默認為<CATALINA_HOME>/webapps
3> autoDeploy如果此項設為true,表示Tomcat服務處于運行狀態時,能夠監測appBase下的文件,如果有新有web應用加入進來,會自運發布這個WEB應用
4> unpackWARs如果此項設置為true,表示把WEB應用的WAR文件先展開為開放目錄結構后再運行.如果設為false將直接運行為WAR文件
5> alias指定主機別名,可以指定多個別名
6> deployOnStartup如果此項設為true,表示Tomcat服務器啟動時會自動發布appBase目錄下所有的Web應用.如果Web應用中的server.xml沒有相應的<Context>元素,將采用Tomcat默認的Context
7> name定義虛擬主機的名字

在<Host>元素中可以包含如下子元素
<Logger>, <Realm>, <Value>, <Context>


<Context>元素
它由Context接口定義.是使用最頻繁的元素.每個<Context元素代表了運行在虛擬主機上的單個Web應用.一個<Host>可以包含多個<Context>元素.每個web應用有唯一
的一個相對應的Context代表web應用自身.servlet容器為第一個web應用創建一個
ServletContext對象.

<Context path="/sample" docBase="sample" debug="0" reloadbale="true">

1> className指定實現Context的類,默認為StandardContext類
2> path指定訪問Web應用的URL入口,注意/myweb,而不是myweb了事
3> reloadable如果這個屬性設為true, Tomcat服務器在運行狀態下會監視在WEB-INF/classes和Web-INF/lib目錄CLASS文件的改運.如果監視到有class文件被更新,服務器自重新加載Web應用
3> cookies指定是否通過Cookies來支持Session,默認值為true
4> useNaming指定是否支持JNDI,默認值為了true


在<Context>元素中可以包含如下元素
<Logger>, <Realm>, <Resource>, <ResourceParams>

?

Connector元素
由Connector接口定義.<Connector>元素代表與客戶程序實際交互的給件,它負責接收客戶請求,以及向客戶返回響應結果.

<Connector port="8080" maxThread="50" minSpareThreads="25" maxSpareThread="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />

<Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
第一個Connector元素定義了一個HTTP Connector,它通過8080端口接收HTTP請求;第二個Connector元素定義了一個JD Connector,它通過8009端口接收由其它服務器轉發過來的請求.

Connector元素共用屬性
1> className指定實現Connector接口的類
2> enableLookups如果設為true,表示支持域名解析,可以把IP地址解析為主機名.WEB應用中調用request.getRemoteHost方法返回客戶機主機名.默認值為true
3> redirectPort指定轉發端口.如果當前端口只支持non-SSL請求,在需要安全通信的場命,將把客戶請求轉發至SSL的redirectPort端口


HttpConnector元素的屬性
1> className實現Connector的類
2> port設定Tcp/IP端口,默認值為8080,如果把8080改成80,則只要輸入http://localhost 即可
因為TCP/IP的默認端口是80
3> address如果服務器有二個以上ip地址,此屬性可以設定端口監聽的ip地址.默認情況下,端口會監聽服務器上所有的ip地址
4> bufferSize設定由端口創建的輸入流的緩存大小.默認值為2048byte
5> protocol設定Http協議,默認值為HTTP/1.1
6> maxThreads設定在監聽端口的線程的最大數目,這個值也決定了服務器可以同時響應客戶請求的最大數目.默認值為200
7> acceptCount設定在監聽端口隊列的最大客戶請求數量,默認值為10.如果隊列已滿,客戶必須等待.
8> connectionTimeout定義建立客戶連接超時的時間.如果為-1,表示不限制建立客戶連接的時間


JkConnector的屬性
1> className實現Connector的類
2> port設定AJP端口號
3> protocol必須設定為AJP/1.3
http://blog.csdn.net/yuanxuegui2008/article/details/6056754

轉載于:https://www.cnblogs.com/seasonzone/p/7090870.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370135.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

均值,方差,協方差,協方差矩陣,特征值,特征向量

大牛博客&#xff0c;收藏一下 http://blog.csdn.net/yangleo1987/article/details/52845912轉載于:https://www.cnblogs.com/gaohai/p/8086626.html

Java ByteBuffer –速成課程

以我的經驗&#xff0c;當開發人員第一次遇到java.nio.ByteBuffer時&#xff0c;會引起混亂和細微的錯誤&#xff0c;因為如何正確使用它尚不明顯。 在我對API文檔感到滿意之前&#xff0c;需要反復閱讀API文檔和一些經驗以實現一些微妙之處。 這篇文章是關于如何正確使用它們的…

c語言cth三角函數表示,三角函數與雙曲函數基本公式對照表

圓函數(三角函數)1.基本性質&#xff1a;sin tan cos x x x ,cos cot sin xx x 1sec cos x x ,1csc sin x x tan cot 1x x sin csc 1x x sec cos 1x x 22sin cos 1x x 221tan sec x x ,221cot csc x x 2.奇偶性&#xff1a;sin()sin x x -- cos()cos x x - tan()tan x x --3.…

實現編輯功能有哪幾個action_Web 應用的撤銷重做實現

背景前不久&#xff0c;我參與開發了團隊中的一個 web 應用&#xff0c;其中的一個頁面操作如下圖所示&#xff1a;GIF這個制作間頁面有著類似 PPT 的交互&#xff1a;從左側的工具欄中選擇元素放入中間的畫布、在畫布中可以刪除、操作&#xff08;拖動、縮放、旋轉等&#xff…

為什么我們要做三份 Webpack 配置文件

時至今日&#xff0c;Webpack 已經成為前端工程必備的基礎工具之一&#xff0c;不僅被廣泛用于前端工程發布前的打包&#xff0c;還在開發中擔當本地前端資源服務器&#xff08;assets server&#xff09;、模塊熱更新&#xff08;hot module replacement&#xff09;、API Pro…

使用maven插件構建docker鏡像

為什么要用插件 主要還是自動化的考慮&#xff0c;如果額外使用Dockerfile進行鏡像生成&#xff0c;可能會需要自己手動指定jar/war位置&#xff0c;并且打包和生成鏡像間不同步&#xff0c;帶來很多瑣碎的工作。 插件選擇 使用比較多的是spotify的插件:https://github.com/spo…

windows下如何安裝pip以及如何查看pip是否已經安裝成功?

最近剛學習python&#xff0c;發現很多關于安裝以及查看pip是否安裝成的例子都比較老&#xff0c;不太適合于現在&#xff08;python 3.6 &#xff09;因此&#xff0c;下一個入門級別的教程。 0&#xff1a;首先如何安裝python我就不做介紹了。 1&#xff1a;如果安裝的是pyth…

檢查用戶顯示器的分辨率

檢查用戶顯示器的分辨率 轉載于:https://www.cnblogs.com/Renyi-Fan/p/8088012.html

android 字體 dpi,詳解Android開發中常用的 DPI / DP / SP

Android的碎片化已經被噴了好多年&#xff0c;隨著國內手機廠商的崛起&#xff0c;碎片化也越來越嚴重&#xff0c;根據OpenSignal的最新調查&#xff0c;2014年市面上有18796種不同的Android設備&#xff0c;作為開發者&#xff0c;一個無法回避的難題就是需要適配各種各樣奇奇…

android studio閃退代碼不報錯_代碼不報錯,不代表真的沒錯

今天是生信星球陪你的第695天大神一句話&#xff0c;菜鳥跑半年。我不是大神&#xff0c;但我可以縮短你走彎路的半年~就像歌兒唱的那樣&#xff0c;如果你不知道該往哪兒走&#xff0c;就留在這學點生信好不好~這里有豆豆和花花的學習歷程&#xff0c;從新手到進階&#xff0c…

Centos7操作系統部署指南

一、硬件環境&#xff1a; Dell R620 二、軟件環境&#xff1a; Centos6.4 X86_64 KVM Windows7vnc 三、安裝說明 操作系統更新之迅速&#xff0c;讓作為新手的系統運維人員有點措手不及&#xff0c;相對于老手就胸有成竹。怎么講&#xff1f;由于老手對技術方向把握的非常好&…

Eclipse插件中的SLF4J登錄

一直都在使用Maven和純Java庫進行開發&#xff0c;我從沒想過在開發Eclipse插件時發出一些日志語句可能會成為問題。 但是&#xff0c;在Eclipse開發人員的想象中&#xff0c;一切似乎總是在Eclipse環境中&#xff0c;而Eclipse宇宙之外則什么都沒有。 如果您使用Google搜索上…

CSS(四)

css元素溢出 當子元素的尺寸超過父元素的尺寸時&#xff0c;需要設置父元素顯示溢出的子元素的方式&#xff0c;設置的方法是通過overflow屬性來設置。 overflow的設置項&#xff1a; 1、visible 默認值。內容不會被修剪&#xff0c;會呈現在元素框之外。2、hidden 內容會被修…

mysql排名

轉載自思心思危http://www.cnblogs.com/zengguowang/p/5541431.html 一、sql1&#xff5b;不管數據相同與否&#xff0c;排名依次排序&#xff08;1,2,3,4,5,6,7.....&#xff09;&#xff5d; SELECTobj.user_id,   obj.score,  rownum : rownum 1 AS rownum FROM(SELECT…

python中變量名后的逗號_深入淺析python變量加逗號,的含義

逗號,用于生成一個長度為1的元組>>> (1)1>>> (1,)(1,)>>> 1,(1,)因此需要將長度為1的元組中元素提取出來可以用,簡化賦值操作>>> a(1,)>>> ba>>> b(1,)>>> b,a>>> b1最后print打印變量加,實現連續打印…

廣告的顯示和關閉

app或游戲的主頁顯示廣告頁面&#xff0c;實現方式&#xff1a; public class MainActivity extends Activity implements View.OnClickListener{private Button btnShowAd;private RelativeLayout layoutAd;Overrideprotected void onCreate(Bundle savedInstanceState) {supe…

android簽到功能模塊,基于android的課堂簽到系統.doc

基于android的課堂簽到系統本科畢業論文(設計)題 目 基于Android的課堂簽到系統學生姓名 XXX指導教師 XX學 院 信息科學與工程學院專業班級 計算機科學與技術0908班完成時間 2013年5月 摘 要在大學課堂中&#xff0c;簽到問題一直困擾著老師和同學們。傳統課堂簽到的手段大多是…

Java EE 7社區調查結果!

在JSR 342下可以繼續進行Java EE 7的工作。一切進展順利&#xff0c;Java EE 7現在處于“初稿審查”階段。 在11月初&#xff0c; Oracle發布了一個有關即將推出的Java EE 7功能的小型社區調查 。 昨天結果公布了。 超過1,100名開發人員參加了調查&#xff0c;并且幾乎對每個問…

CSS(三)

CSS盒子模型 盒子模型解釋 元素在頁面中顯示成一個方塊&#xff0c;類似一個盒子&#xff0c;CSS盒子模型就是使用現實中盒子來做比喻&#xff0c;幫助我們設置元素對應的樣式。盒子模型示意圖如下&#xff1a; 把元素叫做盒子&#xff0c;設置對應的樣式分別為&#xff1a;盒…

一道關于運行順序題

function foo(){   getName function(){console.log(1)}   return this } foo.getName function(){console.log(2)} foo.prototype.getName function(){console.log(3)} var getName function(){console.log(4)} function getName(){console.log(5)} foo.getName()//2 …