當前位置:首頁 » 網頁前端 » web開發運用tomcat
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web開發運用tomcat

發布時間: 2022-05-10 09:54:10

㈠ JAVA WEB開發中Tomcat的問題

如果指定目錄下無相應的index文件,tomcat默認會顯示當前目錄下所有文件的列表,從安全性考慮,需要關閉此功能.
方法:
在tomcat的conf目錄下的web.xml文件中查找listings,然後將true改成false
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
否則外網的人,通過IP地址就能看見你的裡面的程序.
因此我想你的Tomcat一定是關閉了此功能.已經將其設為了false.不能直接訪問文件夾.顯示出裡面的文件.你如果想顯示的話.可以將其改為true.但建議你不要這樣做.出去安全性原因.

㈡ 怎麼將web應用部署到tomcat中,tomcat是否需要配置環境變數

Tomcat部署Web應用方法總結

在Tomcat中部署Java Web應用程序有兩種方式:靜態部署和動態部署。

在下文中$CATALINA_HOME指的是Tomcat根目錄。

一、靜態部署

靜態部署指的是我們在伺服器啟動之前部署我們的程序,只有當伺服器啟動之後,我們的Web應用程序才能訪問。

以下3種方式都可以部署:(以PetWeb項目為例說明,PetWeb目錄假設是F:/PetWeb)

1.利用Tomcat自動部署

將PetWeb目錄拷貝到$CATALINA_HOME/webapps下,然後啟動伺服器就可以了,Tomcat啟動時將自動載入應用。

訪問地址如下:http://localhost:8080/PetWeb/

這種方式比較簡單,但是web應用程序必須在webapps目錄下。Tomcat的Webapps目錄是Tomcat默認的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。

2.修改Server.xml文件部署

這種方式可以不必將PetWeb目錄拷貝到webapps下,直接在F:/部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件,

找到以下內容:

Xml代碼:

1. <Context path
="/Pet" reloadable ="false" docBase
="F:/PetWeb" workDir ="d:/Mywebapps/emp" />

path:是訪問時的根地址,表示訪問的路徑;如上述例子中,訪問該應用程序地址如下:http://localhost:8080/Pet/

reloadable:表示可以在運行時在classes與lib文件夾下自動載入類包。其中reloadable="false"表示當應用程序中的內容發生更改之後伺服器不會自動載入,這個屬性在開發階段通常都設為true,方便開發,在發布階段應該設置為false,提高應用程序的訪問速度。

docbase:表示應用程序的路徑,注意斜杠的方向「/」。
docBase可以使用絕對路徑,也可以使用相對路徑,相對路徑相對於webapps。

workdir:表示緩存文件的放置地址

3.增加自定義web部署文件(推薦使用,不需要重啟Tomcat
)

這種方式和方法2差不多,但不是在Server.xml文件中添加Context標簽,而是在$CATALINA_HOME/conf/Catalina/localhost中添加一個xml文件,如Pet.xml.在Tomcat安裝目錄conf/Catalina
/localhost下,裡面有Tomcat自帶的三個應用,隨意復制其中的一個XML文件,然後修改docbase指向你自己的應用程序,並把文件名改名,各參數參見方法2中的<Context>標簽的參數,或者你也可以自己新建一個XML文件。(注意此文件名將作為Context中的path屬性值,不管文件里的path屬性值如何設置也是無效的
),將以下內容復制過去,修改相應路徑即可。

Xml代碼:

1. <Context path
="/Pet" docBase ="F:/PetWeb"

2. debug ="0"
privileged ="true" reloadable ="false"
>

3. </Context>

訪問地址如下:http://localhost:8080/Pet/

註: Web應用以.war文件的形式部署

可以將JSP程序打包成一個war包放在目錄下,伺服器會自動解開這個war包,並在這個目錄下生成一個同名的文件夾。一個war包就是有特性格式的jar包,它是將一個Web程序的所有內容進行壓縮得到。

我們剛才是將PetWeb文件夾部署在了伺服器中,我們知道可以將Web應用程序的內容打成.war包,然後在部署在伺服器上。打包請參考如下步驟:
1、打開命令提示符(cmd)
2、設置jdk環境變數
3、在命令提示符中進入項目文件夾F:/PetWeb後,鍵入如下命令:jar cvfPet.war */ .
(注意最後有個「. 」)。這樣在F:/PetWeb下應該有Pet.war文件。(也可以打包到指定的地方,命令如下:jar
cvf d:/Pet.war */.)

部署Pet.war文件非常簡單,將剛才xml文件中的docBase
="F:/PetWeb"更改為docBase ="F:/Pet.war"或者直接將其拷貝到webapps目錄下就可以。然後重新啟動伺服器就可以將Pet.war部署為一個Web應用程序了。

如果你夠細心的話你會發現,伺服器將Pet.war文件解開,並且在webapps下面又生成了一個Pet文件夾,然後把Pet.war的內容拷貝到裡面去了。我們可以通過以下方式取消自動解壓縮,將xml配置文件中的unpackWAR屬性設置為"false"
即可。

二、動態部署

動態部署是指可以在伺服器啟動之後部署web應用程序,而不用重新啟動伺服器。動態部署要用到伺服器提供的manager.war文件,如果在$CATALINA_HOME/webapps/下沒有該文件,你必須去重新下載tomcat,否則不能完成以下的功能。要想使用該管理程序必須首先編輯$CATALINA_HOME/conf/tomcat-users.xml文件,內容如下:(關於這個文件的更多內容,請參考
Java Web應用程序的安全模型二)

<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<user username="coresun" password="coresun"roles="manager"/>
<user username="tomcat" password="tomcat"roles="tomcat"/>
<user username="both" password="tomcat"roles="tomcat,role1"/>
<user username="role1" password="tomcat"roles="role1"/>
</tomcat-users>

然後在瀏覽器中鍵入如下地址:http://localhost:8080/
,應該看到一個加菲貓了吧。點擊左邊的Tomcat Manager鏈接,提示輸入用戶名和密碼,本文都是coresun,然後可以看到以下頁面:

(1)Context Path(option):中輸入/Pet

(2)XML Configration file URL中要指定一個.xml文件,比如我們在F:/下建立一個Pet.xml文件,內容如下:<Context reloadable
="false" / >。docBase不用寫了,因為要在下一個文本框中填入。或者更簡單點,這個文本框什麼都不填。

(3)WAR or Directory URL:中鍵入F:/PetWet或者F:/Pet.war都可以,然後點擊Deploy按鈕,看看上面是不是已經看到了你web應用程序,名字就是你ContextPath(option):中的名字。

(4)如果你部署.war文件還有更加簡單的方式,下面還有個Select WAR file upload點擊瀏覽選擇.war文件,然後點擊Deploy也可以。

讓tomcat只運行conf/server.xml中指定的web應用

可以有以下2種辦法:

實現一:

1)將要部署的WEB應用放在webapps以外的路徑,
並在server.xml相應的Context 中的docBase指定.

2)刪除webapps中的所有文件夾,
以及conf/catalina/localhost下所有xml文件.
注: webapps是server.xml中的Host 元素的appBase屬性的值.

實現二:

修改server.xml中Host 元素的屬性,
添加或修改:
deployXML ="false"
deployOnStartup ="false"
autoDeploy ="false"

含義:
deployXML ="false"
: 不部署conf/catalina/localhost下的xml相應的WEB應用

deployOnStartup ="false"
:tomcat啟動時,
不部署webapps下的所有web應用

autoDeploy ="false"
:避免tomcat在掃描改動時,
再次把webapps下的web應用給部署進來.

註:

Tomcat中webapps目錄下不能直接存放網頁格式的文件,否則無法訪問到該文件,必須有子目錄才能訪問該網頁文件。
例如:我們直接將index.html放在webapps目錄中,通過瀏覽器http://localhost:8080/index.html是無法訪問到index.html的。而必須要webapps/petweb/index.html才可以通過http://localhost:8080/petweb/index.html訪問到index.html頁面。

㈢ 用java開發web項目,如果用於互聯網,還是用tomcat部署嗎

當然可以使用tomcat部署,但是需要考慮訪問量的問題,如果訪問量不大,那麼一個tomcat就可以了,不要小瞧tomcat的負載能力,用過一個tomcat支撐過一個縣級市所有醫院系統的訪問,但是具體的訪問量當時也沒有統計,如果訪問量挺大,或者說峰值比較大,可以考慮tomcat集群,用apache+tomcat的方式做集群難度比較小,畢竟這是免費而且最容易實現的方式了。

㈣ 怎麼用tomcat部署web應用

第一種方式:利用Tomcat自動部署

利用Tomcat自動部署方式是最簡單的、最常用的方式。若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,只要將一個Web應用的WebContent級的AppName直接扔進%Tomcat_Home%\webapps文件夾下,系統會把該web應用直接部署到Tomcat中。所以這里不再贅述。

第二種方式:利用控制台進行部署

若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,利用控制台進行部署的方式如下:進入tomcat的manager控制台的deploy區域——在Context
path中鍵入"XXX"(可任意取名)——在WAR or Directory
URL:鍵入D:\workspace\WebApp\AppName (表示去尋找此路徑下的web應用)——點擊deploy按鈕。

然後在%Tomcat_Home%\webapps路徑下將會自動出現一個名為XXX的文件夾,其內容即是D:\workspace\WebApp\AppName的內容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結果)。

以上說明利用控制台進行部署的實質仍然是利用Tomcat的自動部署。

第三種方式:增加自定義的Web部署文件

若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,這種部署方式稍微復雜一點,我們需要在%Tomcat_Home%\conf路徑下新建一個文件夾catalina——再在其中新建一個localhost文件夾——最後再新建一個XML文件,即增加兩層目錄並新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web應用配置文件.xml ,該文件就是部署Web應用的配置文件。例如,我們新建一個%Tomcat_Home%\conf\Catalina\localhost\XXX.xml, 該文件的內容如下:

<Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/>

注意:

(1)以上代碼中的workDir表示將該Web應用部署後置於的工作目錄(Web應用中JSP編譯成的Servlet都可在其中找到),如果使用的Eclipse作為IDE,一般可人為設置在WebApp的work目錄下。

如果自定義web部署文件XXX.xml中未指明workdir,則web應用將默認部署在%Tomcat_Home%\work\Catalina\localhost\路徑下新建的以XXX命名的文件夾下。(Web應用中JSP編譯成的Servlet都可在其中找到)

(2)Context path即指定web應用的虛擬路徑名。docBase指定要部署的Web應用的源路徑。

其實開發者可以使用安裝有Tomcat插件eclipse自動創建部署文件來部署Web應用而不必再手動建立該文件,方法如下:

1. 打開Eclipse——打開菜單欄window選擇preference(首選項)——左側選擇Tomcat,如下圖示:

2. 可以看到上圖中高亮畫出的Context declaration mode(Context 聲明模式)中選擇以Context
files增加自定義部署文件的形式部署web應用——然後Contexts directory中指定上述文件的上級目錄(即%Tomcat_Home%\conf\Catalina\localhost )——點擊Apply或OK。

3. 完上述步驟,再選中Web項目右鍵點擊properties(屬性)——選擇右側的Tomcat ,如下圖所示:

4. 勾上"Is a Tomcat project"前的checkbox,將項目關聯至Tomcat。

在Context name中填入XXX,即Web應用自定義部署文件名和Context path名。

在Subdirectory to set as web application root (optional)中填入要部署的Web應用的實際路徑(即WEB-INF上級目錄)。

注意:Eclipse會自動地將workdir設置在Workspace\WebApp\work下。

如此便自動創建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 文件。啟動Tomcat 即可自動部署Web應用。

第四種方式:手動修改%Tomcat_Home%\conf\server.xml文件來部署web應用

此方法即打開%Tomcat_Home%\conf\server.xml文件並在其中增加以下元素:

<Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />

然後啟動Tomcat即可。

當然如果使用Eclipse,在Eclipse中的設置也有改變:打開菜單欄window選擇preference(首選項)——左側選擇Tomcat——可以看到上圖中高亮畫出的Context
declaration mode(Context 聲明模式)中選擇以Server.xml文件來部署web應用。

㈤ 如何利用Tomcat進行java的web發布

找到菜單window→ShowView→Servers,打開Servers視圖標簽,部署的Tomcat服務

在新打開的對話框中,有一個Project項,選擇要部署的項目

點擊「Finish」完成部署

這樣項目就部署到Tomcat裡面去了

㈥ 怎麼用tomcat部署web應用

幾種方法:
1、在myeclipse里部署
這個直接在myeclipse里配置好tomcat的根路徑。
在server里可以看到tomcat,選擇部署自己的工程就行了。

2、把自己的web工程放在tomcat的webapps下
2.1 把自己的工程達成war包,放進tomcat的webapps下;
2.2 把工程的webroot下的內容用自己的工程名稱(其實是自己想要的在啊瀏覽器訪問的應用路徑名)作為文件夾包住webroot下的內容(要保證自己的classes有東西,lib有東西)

3、把描述自己工程的context放在webapps下
context里可以描述自己的工程的名稱,工程存放的路徑

4、在tomcat的conf/server.xml配置相應的context元素
這個和3的作用差不多,只是這個是在tomcat的server啟動時載入的

以上都能讓tomcat知道自己有多少應用要部署,將會進行相應的部署動作。部署完後,就可以在瀏覽器訪問了。

㈦ 用Myeclipse開發的Web應用怎麼直接部署到tomcat中

導出war包放到tomcat裡面的wappas下面,然後直接啟動tomcat訪問就行,或者是新建server然後找到你的tomcat目錄配置就可以。然後在左邊的servers裡面會有你已經部署好的虛擬伺服器了(也就是tomcat),隨便點一個進去裡面的server.xml裡面加入(虛擬目錄),啟動tomcat就能訪問了。

㈧ web應用為什麼需要tomcat容器

基於Java的web工程需要一個容器,而tomcat就是JSP/servlet容器,它實現了Javaee的一些介面,可以讓Javaweb在它裡面運行

㈨ 如何在Linux下使用Tomcat部署Web應用

般都在windows下開發的,現在部署到linux下:1,將項目達成war包(用eclipse,項目右鍵--Export--選擇warfile)2,將tomcat(用winSCP當然你也可以用secureCRT,用securCRT需要建立sftp(即上傳文件的目錄),用puttomcat命令)考到ilunx對應的目錄下3,然後將項目的war包放到tomcat的webapps目錄下4,啟動tomcat(命令:./startup.sh(linux下啟動tomcat是.sh文件而非.bat文件))遇到問題如下:運行./startup.sh是報錯-bash:./startup.sh:Permissiondenied原因:沒有運行.sh的許可權解決:chmod777*.sh755代表用戶對該文件擁有讀,寫,執行的許可權,同組其他人員擁有執行和讀的許可權,沒有寫的許可權,其他用戶的許可權和同組人員許可權一樣。777代表,user,group,others,都有讀寫和可執行許可權。獲得許可權後再運行./startup.sh命令時報錯:原因:該文件需要一個運行環境(即配置jdk環境變數)解決:JAVA_HOME=/usr/java/jdk1.6.0_25/(當然這個目錄根據自己的jdk安裝目錄)然後在運行./startup.sh提示:UsingCATALINA_BASE:/usr/local/sarft/apache/apache-tomcat-6.0.29UsingCATALINA_HOME:/usr/local/sarft/apache/apache-tomcat-6.0.29UsingCATALINA_TMPDIR:/usr/local/sarft/apache/apache-tomcat-6.0.29/tempUsingJRE_HOME:/usr/java/jdk1.6.0_25/UsingCLASSPATH:/usr/local/sarft/apache/apache-tomcat-6.0.29/bin/bootstrap.jar如果提示以上信息表明tomcat啟動成功!大功告成,運行項目,正常跑起!PS:這個應該屬於很初級的,不過對於本人來說,畢竟是第一次,從發現問題,到解決問題也許到了一些。