`
strongant
  • 浏览: 66489 次
  • 性别: Icon_minigender_1
  • 来自: IT
社区版块
存档分类
最新评论

不通过request对象,在系统启动后,获取tomcat端口

 
阅读更多
private static String getPortByMBean() {
		String portStr = null;;

		MBeanServer mBeanServer = null;
		ArrayList<MBeanServer> mBeanServers = MBeanServerFactory.findMBeanServer(null);
		if (mBeanServers.size() > 0) {
			mBeanServer = mBeanServers.get(0);
		}
		if (mBeanServer == null) {
			throw new IllegalStateException("没有发现JVM中关联的MBeanServer.");
		}
		Set<ObjectName> objectNames = null;
		try {
			objectNames = mBeanServer.queryNames(new ObjectName("Catalina:type=Connector,*"), null);
		} catch (MalformedObjectNameException e) {
			e.printStackTrace();
		} catch (NullPointerException e) {
			e.printStackTrace();
		}
		if (objectNames == null || objectNames.size() <= 0) {
			throw new IllegalStateException("没有发现JVM中关联的MBeanServer : " + mBeanServer.getDefaultDomain() + " 中的对象名称.");
		}
		try {
			for (ObjectName objectName : objectNames) {
				String protocol = (String) mBeanServer.getAttribute(objectName, "protocol");
				if (protocol.equals("HTTP/1.1")) {
					portStr = String.valueOf(mBeanServer.getAttribute(objectName, "port"));
					break;
				}

			}
		} catch (AttributeNotFoundException e) {
			e.printStackTrace();
		} catch (InstanceNotFoundException e) {
			e.printStackTrace();
		} catch (MBeanException e) {
			e.printStackTrace();
		} catch (ReflectionException e) {
			e.printStackTrace();
		}
		System.out.println("当前tomcat容器端口>>>"+portStr);
		return portStr;
	}

 

分享到:
评论

相关推荐

    java获取tomcat端口.doc

    在单机环境中,可以通过HTTP请求中的`request`对象来获取相关信息,例如: ```java String ipAddress = request.getRemoteAddr(); int port = request.getRemotePort(); ``` 对于仅需获取IP地址的情况,可以使用`...

    IIS+TOMCAT 端口整合 系统整合

    ### IIS与Tomcat端口整合及系统整合详解 #### 一、背景介绍 随着企业信息化建设的发展,服务器端的应用程序越来越复杂多样。在实际应用中,常常会遇到需要将不同技术栈的服务进行整合的情况。例如,将基于Microsoft...

    IIS和tomcat 公用80端口

    3. **更改Tomcat监听端口**:更改为一个不常用的端口(如8081或8443),然后在IIS中设置重定向规则,将特定请求路由到新的端口。这种方法可能导致多个端口的管理复杂性增加。 4. **使用独立的负载均衡器**:在IIS和...

    tomcat service.bat

    这个脚本使得Tomcat可以在系统启动时自动运行,提供持续的服务,而无需用户手动启动。Tomcat是开源的Java应用服务器,常用于部署和运行Web应用程序。 描述中的关键信息表明,`service.bat` 文件的作用是将Tomcat...

    让iis和tomcat共用80端口

    ### 让IIS和Tomcat共用80端口:详细配置步骤与注意事项 在企业级应用环境中,经常需要在一台服务器上同时...通过以上步骤,即可实现在同一台服务器上,IIS和Tomcat共用80端口,为用户提供统一且高效的Web服务体验。

    Tomcat系统架构.docx

    例如,Server可以通过指定端口号(如8005)监听特定命令来启动或关闭Tomcat。Service、Connector和Container的配置都在此文件中定义。 Service通常包含一个Container和多个Connector,使得Tomcat可以同时处理多种...

    tomcat6源码分析

    2. 分发请求:Request对象通过Pipeline和Valve链路传递到相应的Container。 3. 处理请求:Container根据请求的URL找到对应的Servlet,调用Servlet的service()方法。 4. 响应处理:Servlet生成的响应通过相同的方式...

    【BAT必备】tomcat面试题

    - **端口冲突**:Tomcat默认监听8080端口,如果该端口被其他程序占用会导致启动失败。 - **配置错误**:如`server.xml`、`web.xml`等配置文件错误会导致Tomcat无法正常启动。 - **JDK版本不兼容**:确保安装的JDK...

    Tomcat控制台部署

    #### 八、更改Tomcat端口配置 1. **修改默认端口**: - 默认情况下,Tomcat监听于8080端口。 - 打开`conf/server.xml`文件,找到`一行,将其修改为所需的端口号。 - 例如,若希望使用8088端口,则应修改为`。 -...

    how tomcat works中文版.pdf百度网盘下载地址

    - **Connector接收请求**:Connector监听特定端口,接收到请求后,将其封装成一个Request对象。 - **分发到容器**:Request对象被传递给合适的容器进行处理。例如,如果请求的是一个Servlet,则会被分发到对应的...

    tomcat服务器工作原理

    当我们启动Tomcat时,它首先会读取`conf/server.xml`配置文件,该文件定义了服务器的各个组件和监听的端口。接着,Tomcat会加载`WEB-INF/web.xml`中的应用配置,初始化Servlet和过滤器,并启动连接器、上下文、...

    tomcat的一些详细介绍

    + `enableLookups`:如果为 true,则可以通过调用 request.getRemoteHost() 进行 DNS 查询来得到远程客户端的实际主机名,若为 false 则不进行 DNS 查询,而是返回其 IP 地址 + `redirectPort`:指定服务器正在...

    tomcat源码解析

    本文主要面向对Java Web开发感兴趣的技术人员、系统架构师以及希望深入了解Tomcat内部机制的开发者。阅读本文之前,建议读者具备一定的Java基础知识和Web开发经验。 #### servlet容器是如何工作的 Servlet容器是...

    tomcat跨域jar.rar

    在Web开发中,由于浏览器的同源策略限制,不同源(协议、域名、端口)的请求会被阻止,这对于前后端分离的项目或者需要通过API获取数据的场景来说,是一个常见的问题。本教程主要针对"Tomcat跨域配置"进行详细讲解,...

    tomcat+jsp内幕详解

    JSP提供了九个隐含对象,可以直接在页面中使用,如`request`、`response`、`session`等,它们对应于Servlet API中的特定对象,方便开发者操作请求数据、响应数据和会话信息。 **JSP文档** JSP文档(JSPD)允许...

    tomcat解决跨域访问问题配置

    1、修改tomcat下的Conf/web.xml文件,在该文件内容中新增以下配置,注意,若该web.xml中存在其它filter,则需要将该filter放在所有filter前面; &lt;filter-name&gt;CorsFilter &lt;filter-class&gt;org.apache.catalina....

    tomcat源码基于6.0

    3. **请求处理**:当请求到达Coyote时,会被转化为`org.apache.coyote.Request`对象,然后通过`org.apache.coyote.Response`发送响应。请求经过层层容器,最终找到对应的Servlet进行处理。 4. **生命周期管理**:...

    apache-tomcat-8.0.35.zip

    "apache-tomcat-8.0.35.zip"是Apache Tomcat的8.0.35版本的压缩包,这个版本被认为是在400 Bad Request错误处理上比较稳定的一个版本。 400 Bad Request是HTTP状态码,意味着服务器无法理解客户端发送的请求,通常...

Global site tag (gtag.js) - Google Analytics