Tomcat教程

Manager Web应用程序

Manager Web应用程序让您可以通过Web管理自己的Web应用程序。当然,如果任何人都 能管理其他人的Web应用程序,事情就变得有点棘手了,更别提安全防护了。因此,为了让Manager Web应用程序能运行,并且适当地运行,您必须做几件事。

在Tomcat4.1.31或更髙版本中(尽管您确实需要运行Tomcat 6.0或更髙版本),默认自动启动Manager Web应用程序。但是,为了保证能登录,您必须配置CATALINA_HOME/conf/tomcat-users.xml文件。

实际上,Manager应用程序是设计在其他的程序中使用&在未被修改的情形下,它 只会产生已经部署的Web应用程序清单,而其程序代码则依servlet参数而定。笔者发现它有点过于简洁,当您请求http://localhost:8080/manager/list时,它只会输出如下的内容:

OK - Listed applications for virtual host localhost
/docs:running:0:docs
/examples:running:0:examples
/host-manager:running:0:host-manager
/my-webapp:running:0:my-webapp
/manager:running:manager
/:running:0:ROOT

对每个context(范围),无论该context是否在执行,它都会输出context的名称,以及先 行的会话(并发用户)数目。这不是漂亮的清单,不过请记住,这是给程序解释用的, 不是供人解读的。

Manager Web应用程序的HTML用户界面应看起来如图3-3所示。

Manage应用程序让您以非持续性的方式安装新的Web应用程序,如用于测试。如果在/home/ian/webs/webapp1中有一个Web应用程序,并想通过安装在URI/webapp1的方式来测试,笔者在第一个文本输入字段中输人"/webapp1",用于Context Path,而在 第三个文本输入字段中输入“file:/home/ian/webs/webapp1,用于作为WAR或Directory URL的标签。当您单击"Deploy"按钮(在Tomcat 4.1x中为“Install”按钮)的时候, Tomcat将尝试部署这特定Web应用程序,而且屏幕上会显示一行状态信息。如果可以 找到该Web应用程序并被认作Java servlet Web应用程序,则您在内容列表中可以看见新 的内容。如果它显示为running状态,则您已完成了所有工作。但是,如果它显示了一个"Start"按钮,则有问题。您可能需要检查Tomcat和Manager的日志文件,并纠正错误。然后,单击“Start”按钮启动该Web应用程序。在没有启动错误的时候,该Web应用程序将显示为running并可从浏览器使用。

Manager也能让您停止、重新加载、删除或解除Web应用程序的部署。停止应用程序会让它无法使用,直至收到进一步的通知,不过,它当然也可以再启动。用户企图访问已经停止的应用程序,将会收到错误信息,如"503 - This application is not currently available"。

刪除Web应用程序只会从Tomcat的现行实例中删除。如果此应用程序是从配置文件启动的,则下次再启动Tomcat时,它还会再出现(即刪除动作不会自动从硬盘中删除Web应 用程序的内容)。

Tomcat 5.5.x及更高版本中,Manager Web应用程序也提供/服务器状态(Server Status)页,单击状态(Status)连接就可进入服务器状态(Server Status)页,它将给您展示有关服务器的信息,包括Tomcat版本、JVM版本、JVM提供商、OS名、OS版本、OS架构、JVM内存(空闲的、总数和最大数)及毎个连接器(Connector)处理的详细请求列表。在Server Status页上,还有一个连接到完整服务器状态(Complete Server Status)页,它就是一个扩展的Server Status页,也显示了所有Web应用程序的淸单,并通过这一列表重述了上述内容,以显示每个映射的资源。滚动该网贞以杏看显式映射的 每个资源。对每个资源,该网页都将显示处理时间、最大处理时间、请求数、错误数、加载时间及类加载时间。

图3-3: HTML中的Manager Web应用程序

如果您对如何执行特定的网页感兴趣,那么Complete Server Status网页就非常方便了。在调试部署描述器的scrviet映射时,它也非常方便。例如,如果在Tomcat的URI路径下看到了404,您会相信已经映射了某种东西,那您恰恰在访问一个错误路径您怎么知道Tomcat在哪个URI路径上部署了它呢? 一旦您部署并启动FWeb应用程序,那您只能 在Complete Server Status页上査找它。

关注微信获取最新动态