启动后浏览器有时会一直打开:8080/
去验证一下你的是否启动成功。 当你在ROOT应用中看到黄色三足猫的时候,你就可以放心了:启动服务没有问题。 如果请求不成功,肯定是哪里出了问题,启动异常导致默认app无法启动成功。 我们来仔细看看日志分析。
除了ROOT应用程序外,默认还提供此应用程序。
在之前的文章中我们已经分析过应用程序的实现细节
功能正常
1. 部署
管理已部署的应用程序(启动、停止应用程序、重新部署)
部署战争
通过.xml形式部署
设置到期时间
2.诊断内存泄漏等。
3.显示JVM内存信息
4. 线程状态
还有什么?
我们可以看到,这提供了几个常用但非常有限的基本功能。
使用过、、等开源J2EE应用服务器的朋友会发现,相比起来,它们都提供了功能更齐全的所谓“管理控制台”。
该管理控制台可以做的事情比上面提供的要多得多。 比如最常用的一个:8080。这个端口不够用。 我们想要添加另一个端口来响应其他请求,或者在配置ajp请求处理时,我们想要添加一个。 这时候,在J2EE管理控制台中,直接添加即可。 是的,一步一步来。
即使在部署应用程序时,您也可以选择JSP预编译()、创建数据源等。
您需要做什么来创建此操作?
打开.xml,复制8080配置,更改端口,更改BIO/NIO处理,然后重新启动。 (敲黑板,这是测试现场),并且管理控制台处理不需要重启实例。 其实作为一个组件并不会互相影响,其实不用重启就可以完成,但是创建过程需要我们以编程的方式修改配置文件的内容。 直接操作内容也可以通过JMX来实现。
您说您部署了一个应用程序。 应用程序中配置了什么? Web.xml 中有 init-param 吗? 我在哪里可以看到它?
抱歉,您需要自己打开应用配置才能看到。
管理控制台的想法是总体列出当前应用程序的具体配置信息,以方便管理。
当然,还有很多不同之处...
其实在6之前,也有这样一个名为“Admin”的应用程序,其功能与应用服务器的管理控制台相当,但已不再提供。 真可惜。
当然,说了这么多,我们并没有开始不喜欢它。 毕竟,作为一个纯粹的Web、非商业产品,它还不错。
为了使用一款更易用、功能更全面的管理工具,如果官方没有提供,我们只能将目光转向第三方开源的浩瀚海洋,不断寻找?
官方wiki也指出了方法:
PSI 和 Web for .
这是一个管理和监控工具,以前称为 Probe。 由于 Probe 2006 不再更新,PSI Probe 被认为是它的 Fork 版本,并且一直更新到今天。
使用起来也非常方便。 只需在()中下载对应的war文件并部署即可。
访问时需要使用-users.xml中配置的用户来访问。
登录后是这样的:
通过上面一长串的选项卡,你可以感受到功能比应用程序更强大。 有些功能甚至可以媲美“管理控制台”的体验。
让我们看看应用程序部署。
除了部署该功能外,还包括一般J2EE应用服务器中包含的“JSP预编译”功能,以加快应用响应速度。 还有一个选项可以清除工作。
直接在页面查看日志
对于日志文件,可以实时修改不同的日志级别来打印日志。
您可以列出当前配置、每个收到的请求等。
更多功能,快来下载探索吧! 玩得开心!
PSI背后的功能是如何实现的?
我们在上一篇文章中写到内存中有一个“特权应用程序”()
是一些可以直接访问的内部组件。 PSI 将自己设置为特权应用程序。 同时,对于内部操作,PSI以以下形式创建不同版本的应用程序:
这里就是我们熟悉的组件,PSI继承的。 通过这个之后,我们就得到了它的上层组件Host。
/**
* Main dispatcher servlet. Spring default dispatcher servlet had to be superseded to handle
* "privileged" application context features. The actual requirement is to capture passed Wrapper
* instance into ContainerWrapperBean. Wrapper instance is our gateway to Tomcat.
*/
@WebServlet
public class ProbeServlet extends DispatcherServlet implements ContainerServlet {
将注册于
// Set probe servlet
ServletRegistration.Dynamic probe = servletContext.addServlet("probe", ProbeServlet.class);
所以拿到这些组件之后,在操作应用部署、检索等内容的时候,其实和我自己是一样的。
所以如果要开发管理工具,这也是一个实现思路。
通过 JMX 的 MBean,()
一种是通过 PSI 的想法。