?? tomcat-into.htm
字號:
<html><!-- #BeginTemplate "/Templates/more.dwt" -->
<head>
<!-- #BeginEditable "doctitle" -->
<title>csdn_深入解剖Tomcat</title>
<!-- #EndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<STYLE type=text/css>
A:link {
COLOR: #000000; FONT-FAMILY:verdana,宋體,新宋體; TEXT-DECORATION: none
}
A:visited {
COLOR: #333399; FONT-FAMILY:verdana,宋體,新宋體; TEXT-DECORATION: none
}
A:active {
COLOR: #ff0000; FONT-FAMILY:verdana,宋體,新宋體; TEXT-DECORATION: none
}
A:hover {
COLOR: black; TEXT-DECORATION: underline
}
BODY {
COLOR: #000000; FONT-SIZE:9pt; LETTER-SPACING: normal; LINE-HEIGHT: 150%; WORD-SPACING: 2em
}
TH {
FONT-SIZE: 9pt
}
TD {
FONT-SIZE: 9pt
}
TD.page {
COLOR: #000000; FONT-SIZE:9pt; LETTER-SPACING: normal; LINE-HEIGHT: 150%; WORD-SPACING: 2em
}
TD.title {
COLOR: #000000; FONT-FAMILY:verdana,宋體,新宋體
}
TD.detail {
COLOR: #9966ff; FONT-FAMILY:verdana,宋體,新宋體
}
</STYLE>
</head>
<body bgcolor="#FFFFFF" text="#000000" >
<div align="center"></div>
<table width="700" border="0" align="center">
<tr>
<table width="700" border="1" cellpadding="1" cellspacing="0" bordercolorlight="#9898ba" bordercolordark="#000000">
</table>
<br>
<table width="700" border="0">
<tr>
<td width="20"> </td>
<td colspan="2">
<div align="center">
<h3><b><!-- #BeginEditable "5" -->
<h3><font face="Verdana, Arial, Helvetica, sans-serif" ><b>深入解剖Tomcat</b></font></h3>
<!-- #EndEditable --></b></h3>
</div>
</td>
<td width="20"> </td>
</tr>
<tr>
<td width="20"> </td>
<td colspan="2"><!-- #BeginEditable "6" --><br>
<font color="#0000FF"><b>Tomcat安裝:</b></font><br>
<br>
Tomcat 是一種有JSP環境的Servlet的容器。Servlet容器是代替用戶管理和調用 Servlet的運行時外殼。Servlet容器可以粗略的劃分成下面幾類:<br>
<br>
1. 獨立的servlet容器<br>
獨立的servlet容器Web服務器的一部分。當使用一個以Java為基礎的Web服務器時就是這種情況, 例如是JavaWebServer的一部分的servlet容器。獨立的Servlet容器是被Tomcat使用的缺省方式。<br>
然而,大多數站點服務器都不是以Java為基礎的,這就把我們帶領導到下一兩種容器類型。 <br>
<br>
2. 集成到進程中的(In-process) servlet 容器<br>
這種servlet容器和是把Web服務器的plugin和Java容器的實現結合在一起。 Web服務器的plugin在站點服務器的地址空間的內部打開一個JVM并且讓Java容器在其中運行。
如果某一個請求(Request)要求執行Servlet,那么plugin就會接管這個請求并將它傳遞給 Java容器(使用JNI)。這種集成到進程中的很適合多線程單一進程的服務器,而且具有很好的性能。
但是伸縮性不好。 <br>
<br>
3. 未集成到進程中的(Out-of-process) servlet 容器<br>
這一類servlet容器也是將Web服務器的plugin和JVM中運行的的Java容器的實現結合在一起, 但它是在Web服務器的外部運行的。Web服務器plugin和Java容器JVM使用某種IPC機制(通常是TCP/IP
Socket)進行通信。 如果某一個請求(Request)要求執行Servlet,那么plugin就會接管這個請求并將它(使用IPC)傳遞到Java容器。雖然這一類Servlet容器的反應時間比不上集成進線程的Servlet容器,但是在很多方面(可伸縮性、穩定性,等等)都要好于上一類。
<br>
Tomcat能被用作一個獨立的容器(主要是用來開發和調試),或者當作一個已經存在的Web服務器 (目前支持阿帕奇,IIS和Netscape服務器)的一個附加軟件(add-on)。
這意味只要你部署Tomcat你就不得不決定如何使用它;同時,如果你選擇選擇2或者3, 你還將需要安裝Web服務器軟件。<br>
將你下載的Tomcat安裝文件解壓縮到某個目錄 (最好直接把Tomcat解壓到硬盤的根目錄下,這樣比較容易管理和設置)。這將會創建一個叫做"tomcat"的新的子目錄。下面我們都假設你把Tomcat解壓到c:\tomcat中。以下為配置步驟:<br>
<br>
1. 在 Win32 系統中你應該鍵入: <br>
"set TOMCAT_HOME=c:\tomcat"<br>
在WinNT或者Win2000中,可以新添加一個環境變量,名字為TOMCAT_HOME,值為:c:\tomcat <br>
在 UNIX 系統中你應該鍵入: <br>
for bash/sh "TOMCAT_HOME=c:/tomcat ; export TOMCAT_HOME"<br>
for tcsh "setenv TOMCAT_HOME c:/tomcat" 設置環境變量 JAVA_HOME
,使其指向你的JDK所在的目錄,然后將Java解釋器所在的路徑添加到你的Path 環境變量中。<br>
for Example: 在Win98下,鍵入set JAVA_HOME=C:\jdk1.3\ <br>
set PATH=c:\jdk1.3\bin;%PATH%<br>
在Win NT下,環境變量的設置應該在 控制面版>系統>環境中設置<br>
<br>
2. 綜合上面,安裝Tomcat,首先要解壓,然后設置變量和值:TOMCAT_HOME、JAVA_HOME、PATH,在Win98環境里,可以直接把上述的語句寫入autoexec.bat文件中,這樣在每次啟動Tomcat時,不用輸入上述的命令。<br>
<font color="#0000FF"><b><br>
啟動和停止Tomcat:</b></font><br>
<br>
啟動Tomcat:<br>
在 UNIX 下: bin/startup.sh<br>
在 Win32下 : bin\startup<br>
停止 Tomcat: <br>
在 UNIX 下: bin/shutdown.sh<br>
在 Win32下: bin\shutdown<br>
<font color="#0000FF"><b><br>
Tomcat的目錄結構:</b></font><br>
<br>
請參見本站(http://adionline.myrice.com)其他文章。<b><font color="#0000FF"><br>
<br>
如何在Tomcat中添加虛擬子目錄:</font></b><br>
<br>
在Tomcat中增加虛擬子目錄,可以通過直接修改其配置文件:server.xml來添加。在Tomcat/conf/下,你可以找到文件server.xml,用記事本打開。你會發現以下的代碼:<br>
<!-- Virtual host example - <br>
In "127.0.0.1" virtual host we'll reverse "/"
and <br>
"/examples"<br>
(XXX need a better example )<br>
(use "http://127.0.0.1/examples" )<br>
<Host name="127.0.0.1" ><br>
<Context path="" <br>
docBase="webapps/examples" /><br>
<Context path="/examples" <br>
docBase="webapps/ROOT" /><br>
</Host><br>
--><br>
這是tomcat給我們的實例,我們可以依照這種形式添加自己的虛擬子目錄。例如:<br>
<host name="127.0.0.1"><br>
<context path="myjsp"<br>
docbase="webapps/myjsp"/><br>
</host><br>
然后你要在tomcat/webapps下新建一個子目錄myjsp,這時候你就可以把自己的jsp文件放在目錄myjsp中了,你可以通過以下方式訪問你的jsp文件:http://localhost:8080/myjsp/*.jsp。
<p><br>
<font color="#0000FF"><b>進入Tomcat管理界面:</b></font><br>
<br>
在地址欄中鍵入:http://localhost:8080/admin,點擊Context Admin便可以進入Tomcat的管理界面,不過要首先輸入帳號和密碼。帳號和密碼在什么地方可以找到呢?我們在tomcat的安裝目錄下,找到子目錄conf,然后在conf中可以看到一個文件叫:tomcat-users.xml,用記事本打開它。可以看到有以下的一些內容:<br>
<tomcat-users><br>
<user name="tomcat" password="tomcat" roles="tomcat"
/><br>
<user name="role1" password="tomcat" roles="role1"
/><br>
<user name="both" password="tomcat" roles="tomcat,role1"
/><br>
</tomcat-users><br>
按照上面的格式,我們可以添加一個用戶和密碼:<br>
<user name="rocky" password="rocky" roles="admin"
/><br>
保存文件tomcat-users.xml,然后重新啟動Tomcat。注意一定要把其中的參數:roles設置為admin!這樣我們就可以在要求輸入帳號和密碼的地方輸入rocky和rocky了。然后就可以看到Tomcat的管理界面了。<br>
點擊鏈接Snoop可以看到Request Information如下:<br>
JSP Request Method: GET <br>
Request URI: /examples/jsp/snp/snoop.jsp <br>
Request Protocol: HTTP/1.1 <br>
Servlet path: /jsp/snp/snoop.jsp <br>
Path info: null <br>
Path translated: null <br>
Query string: null <br>
Content length: -1 <br>
Content type: null <br>
Server name: localhost <br>
Server port: 8080 <br>
Remote user: null <br>
Remote address: 127.0.0.1 <br>
Remote host: 127.0.0.1 <br>
Authorization scheme: null <br>
Locale: zh_CN <br>
The browser you are using is Mozilla/4.0 (compatible; MSIE 5.5;
Windows NT 5.0; NetCaptor 6.5.0B7)<br>
<i><b><font color="#0000FF"><br>
(待續)</font></b></i><br>
<br>
<font><b> Questions:</b></font><br>
<br>
阿迪在安裝和配置Tomcat的過程中,發現不少問題,比較困惑,如下:<br>
1. 啟動Tomcat之后,鍵入:http://localhost:8080/admin,輸入帳號和密碼之后,可以進入Tomcat的控制臺,在里面可以看到三個按鈕和幾個輸入框。三個按鈕分別是:View
All Context、Add Context、Remove Context,請問tomcat的控制臺怎么用?還有,三個按鈕的作用是什么?是添加虛擬子目錄嗎?我在修改server.xml之后,也可以添加子目錄,以存放我自己的jsp文件。<br>
2. 我下載了幾個版本的tomcat,有:jakarta-tomcat-3.2.3.zip、jakarta-tomcat-4.0-b1.zip、jakarta-tomcat-4.0-m5.zip……,請問這幾個有什么區別嗎?我想應該是版本的區別吧。不過,等我一個一個安裝配置之后,發現有些有問題。有的是鍵入http://localhost:8080/之后回車,點擊鏈接API
docs for Servlet and JSP Packages 看不到相應的文檔,而有的是鍵入http://localhost:8080/admin回車,說找不到頁面,看不到控制臺頁面,而有的可以看到,是什么原因?各位高手幫我看看,謝了!<br>
<br>
</p>
<!-- #EndEditable --></td>
<td width="20"> </td>
</tr>
<tr>
<td width="20" height="11"> </td>
<td width="541" height="11"><!-- #BeginEditable "7" --><!-- #EndEditable --></td>
<td width="101" height="11">
</td>
<td width="20" height="11"> </td>
</tr>
</table><div align="center"> <br>
</div>
</td>
</tr>
</table>
<div align="center">
<br>
</div>
</body>
<!-- #EndTemplate --></html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -