fbq212212
零度212
2015-01-19 12:21
采纳率: 33.3%
浏览 5.0k
已采纳

ServletContextListener获取端口

有一个需求需要在ServletContextListener中获取服务器的端口 这个时候还拿不到request,所以这个方法不行,大家还有没有别的方法可以拿到端口呢,感谢大家

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • save4me
    save4me 2015-01-20 09:25
    已采纳

    参考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());
    }
    
    点赞 评论
  • fbq212212
    零度212 2015-01-19 12:37

    有知道的吗,非常感谢。。。。。。java

    点赞 评论
  • maleibo527

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

    点赞 评论
  • fbq212212
    零度212 2015-01-19 13:06

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

    点赞 评论
  • lowanty
    modii 2015-01-20 05:46

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

    点赞 评论
  • jiasanshou
    Smox 2015-01-21 09:07

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

    点赞 评论

相关推荐