今天無意中發現tomcat5.5的管理功能已經非常強大了,只要你配置好了tomcat-user.xml.

主要是增加一個具有系統管理權限的用戶,比如增加一個用戶名和密碼都是suxiaoyong的用戶,只需要在在最后一行增加

代碼
<user username="suxiaoyong" password="suxiaoyong" roles="admin,manager"/>


其他的用戶都可以刪掉了

然后,我們可以進入http://localhost:8080/manager/status 來查看服務器的各種狀態.

也可以通過url來直接對應用進行監控

命令格式
代碼
http://{ host }:{ port }/manager/{ command }?{ parameters }


部署一個應用

代碼
http://localhost:8080/manager/deploy?path=/foo

http://localhost:8080/manager/deploy?path=/foo

http://localhost:8080/man......o&war=file:/path/to/foo

http://localhost:8080/manager/deploy?war=foo

http://localhost:8080/man......ath=/bartoo&war=bar.war


列出已經部署的應用

代碼
http://localhost:8080/manager/list


重新加載一個應用


比如你更新了class或者lib的話,需要重新加載系統

代碼
http://localhost:8080/manager/reload?path=/examples


查看jvm和系統信息

代碼
http://localhost:8080/manager/serverinfo


查看可用的安全角色

代碼
http://localhost:8080/manager/roles


查看某個應用默認的session超時時間和當前活躍的session數

代碼
http://localhost:8080/manager/sessions?path=/examples


啟動一個應用

比如有時候重新啟動數據庫后可能需要重新啟動應用

代碼
http://localhost:8080/manager/start?path=/examples


關閉一個應用

關閉后,任何發往該應用的請求都將轉向404錯誤的頁面

代碼
http://localhost:8080/manager/stop?path=/examples

?
undeploy

慎用,將刪除應用的目錄及其war文件

ant腳本,更多的詳見tomcat5.5的文檔

代碼
<project name="My Application" default="compile" basedir=".">

?<!-- Configure the directory into which the web application is built -->
?<property name="build" ? ?value="${ basedir }/build"/>

?<!-- Configure the context path for this application -->
?<property name="path" ? ? value="/myapp"/>

?<!-- Configure properties to access the Manager application -->
?<property name="url" ? ? ?value="http://localhost:8080/manager"/>
?<property name="username" value="myusername"/>
?<property name="password" value="mypassword"/>

?<!-- Configure the custom Ant tasks for the Manager application -->
?<taskdef name="deploy" ? ?classname="org.apache.catalina.ant.DeployTask"/>
?<taskdef name="list" ? ? ?classname="org.apache.catalina.ant.ListTask"/>
?<taskdef name="reload" ? ?classname="org.apache.catalina.ant.ReloadTask"/>
?<taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask"/>
?<taskdef name="roles" ? ? classname="org.apache.catalina.ant.RolesTask"/>
?<taskdef name="start" ? ? classname="org.apache.catalina.ant.StartTask"/>
?<taskdef name="stop" ? ? ?classname="org.apache.catalina.ant.StopTask"/>
?<taskdef name="undeploy" ?classname="org.apache.catalina.ant.UndeployTask"/>

?<!-- Executable Targets -->
?<target name="compile" description="Compile web application">
? ?<!-- ... construct web application in ${ build } subdirectory, and
? ? ? ? ? ?generated a ${ path }.war ... -->
?</target>

?<target name="deploy" description="Install web application"
? ? ? ? ?depends="compile">
? ?<deploy url="${ url }" username="${ username }" password="${ password }"
? ? ? ? ? ?path="${ path }" war="${ build }${ path }.war"/>
?</target>

?<target name="reload" description="Reload web application"
? ? ? ? ?depends="compile">
? ?<reload ?url="${ url }" username="${ username }" password="${ password }"
? ? ? ? ? ?path="${ path }"/>
?</target>

?<target name="undeploy" description="Remove web application">
? ?<undeploy url="${ url }" username="${ username }" password="${ password }"
? ? ? ? ? ?path="${ path }"/>
?</target>

</project>