为了账号安全,请及时绑定邮箱和手机立即绑定

ServletContextListener获取端口

ServletContextListener获取端口

互换的青春 2019-04-18 14:15:37
有一个需求需要在ServletContextListener中获取服务器的端口 这个时候还拿不到request,所以这个方法不行,大家还有没有别的方法可以拿到端口呢,感谢大家
查看完整描述

5 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

参考How to query the servlet container to obtain effective URL from a ServletContextListener?

public void contextInitialized(ServletContextEvent sce) {
    WebAppContext ctx = (WebAppContext) sce.getServletContext();
    System.out.println("context Base Path" + ctx.getContextPath());
    System.out.println("Getting the port is a bit trickier");
    System.out.println("One valid Port = " + ctx.getServer().getConnectors()[0].getPort());
}


查看完整回答
反对 回复 2019-05-07
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

InetAddress.getLocalHost().getHostAddress() 这个可以获取本机ip。端口号 一般是应用写死的吧 固定的吧


查看完整回答
反对 回复 2019-05-07
?
烙印99

TA贡献1829条经验 获得超13个赞

这个恐怕是动态取不到了,你要自己写个配置文件了,将端口自己写上了吧,菜鸟回答


查看完整回答
反对 回复 2019-05-07
?
HUX布斯

TA贡献1876条经验 获得超6个赞

问题主要是这样的,因为一台服务器上部署了两个应用,需要在启动的时候获取ip和端口来标识应用。不知道大家还有没有别的东西可以获取来区分这两个应用


查看完整回答
反对 回复 2019-05-07
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

不可以通过路径去标识应用吗?
你的服务器是linux还是windows的。可以使用命令获取当前所有服务的进程号,然后查询进程占用端口情况。

查看完整回答
反对 回复 2019-05-07
  • 5 回答
  • 0 关注
  • 1149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信