tomcat的啟動和網站的訪問

不設限發表於2011-12-13
 

使用eclipse和myeclipse開發基本上沒有多少區別,不過在開發過程中對網站進行部署的時候它們是有點區別的

在myeclipse中tomcat被當做了一個main函式來使用,而且網站被直接的部署到tomcat的work\Catalina\localhost

目錄下面,而如果使用的是eclipse進行網站除錯的話,網站就不是部署在它下面了,雖然eclipse也使用tomcat裡面所

提供的那些jar包,但是網站卻被放在了eclipse的workspace下面的一個目錄裡面:D:\eclipse\.metadata\.plugins

\org.eclipse.wst.server.core\tmp0就在這個裡面,這樣做的目的是為了讓tomcat的work\Catalina\localhost目錄變

的乾淨點,在eclipse看來,只有把可以執行的網站才會放在這裡面。

而且eclipse把tomcat當成了一個專案來管理,所以說這個時候呢就是在你啟動tomcat的時候,它是被當做一個很

普通的專案來啟動的,它就是一個包含了socket埠的一個專案,監聽來之你所指定的埠的資訊,比如8080埠

這個專案就在那裡監聽著,而你所開發的網站的專案則被複制到了tomcat的一個目錄下面,當你要訪問某一個檔案

的時候,tomcat就會去查詢這個檔案,然後把它給返回給你。

為什麼說tomcat是容器,因為裡面本身沒有任何的程式,也沒有網頁,網頁都是你自己編寫好的網頁,直接的被放

進去的。

 

tomcat的啟動:

由上面的分析可以知道要想訪問一個網站,首先要啟動tomcat這個容器,它會對網站裡面的資源進行管理,怎麼確定

tomcat是不是已經啟動了呢?

 

方法:訪問配置的網站,如果訪問成功,那麼就說明tomcat已經啟動了(當然前提是你的訪問路徑是正確的)。

 

所以如果你不能夠成功的訪問一個網站,那麼有兩種情況,第一種是你的訪問路徑不正確,這種情況是比較好辦的,

你要做的就是仔細的檢查自己的路徑是不是出錯了,例如:http://localhost:8080/project/index.jsp

這裡麵包括了幾方面的東西:

協議名->http://

伺服器名:localhost

埠號:8080

你要訪問的專案名稱:project

你要訪問的檔名稱:index.jsp

注意這個地方的index.jsp是直接的放在了web專案的根目錄下面的因為tomcat預設的根訪問的目錄就是它

(eclipse下根目錄是WebContent,myeclipse的根目錄是WebRoot)。

如果這些都沒有問題的話

那麼就說明你的tomcat啟動有問題了,如何檢視Tomcat有沒有正常的啟動呢?

第一是看控制檯的列印資訊,如果有明顯的錯誤的話,tomcat是會列印出來的,但是又的時候情況很詭異

比如如果你的機子安裝了oracle10g,它裡面有一個服務tnslsnr.exe,不知道什麼時候會啟動,而且它佔用

的埠正是8080,而且更詭異的是你在啟動tomcat的時候它沒有給你報錯,可是你去訪問不了自己的網站。

 

如果出現了這種tomcat啟動沒有明顯報錯,但是又訪問不了自己的網站的時候,一定是埠被佔用了,這個

時候你可以做:

第一是把佔用此埠的程式給關閉掉

第二是修改自己tomcat

 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

把埠號給修改了就行了

 

如果你想把佔用的8080埠的程式給結束掉,但是又不知道是誰佔用了你的埠號的話,那麼你可以通過如下的方法找到佔用8080

埠的程式

1、Windows平臺

在windows命令列視窗下執行:

C:\>netstat -aon|findstr "9080"

TCP    127.0.0.1:9050         0.0.0.0:0              LISTENING       3432

 

看到了嗎,埠被程式號為3432的程式佔用,繼續執行下面命令:

 

C:\>tasklist|findstr "3432"

java.exe                     3432 Console                 0     16,064 K

 

這樣就知道到底是那個程式佔用了那個埠了,你只需要把他們結束掉網站

就可以訪問了。

如果在你啟動tomcat的時候出現了[SetPropertiesRule]{Server/Service/Engine

/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:webproject4_1' did not find a matching property.

這不是問題,不要去修改它,因為你越是修改,它錯的越是厲害,它很正常,但是如果說你啟動了tomcat可是訪問不了檔案

訪問不了servlet檔案,這我是為什麼呢?

第一檢查自己的servlet配置有沒有錯

第二檢查servlet的class配置後面有沒有帶上.class帶上是不對了

第三檢查你的web.xml的位置是不是在web-inf資料夾下面,如果不在也是不行的

這些都沒有問題了,你再去訪問肯定沒有錯誤的

相關文章