javax.servlet.ServletRequest.getServerPort()public int getServerPort()Returns the port number on which this request was received. For HTTP servlets, same as the value of the CGI variable SERVER_PORT.
Returns:
an integer specifying the port number

解决方案 »

  1.   

    不是这个,这是当前访问的端口号。我要知道,当前服务器都启动了哪些HTTP端口号,TOMCAT启动时候有提示的比如8080一个,8443一个。我怎么能获得呢???
      

  2.   

    你可以在接到客户请求后判断出这个端口来,譬如:
    ServletRequest.getServerPort();甚至可以通过:
    HttpServletRequest.getRequestURL();
    然后可以从URL的形式判断出端口号;当然没有这个必要;
      

  3.   

    不是这个,这是当前访问的端口号。我要知道,当前服务器都启动了哪些HTTP端口号,TOMCAT启动时候有提示的比如8080一个,8443一个。我怎么能获得呢???
      

  4.   

    一个进程可以打开任意多的端口侦听,servlet怎么会知道你打开了哪些端口呢?
    如果要知道,操作系统是知道的,你可以研究一下像netstat、fport、netmon等程序是如何知道哪些进程打开了哪些端口的,然后用JNI实现一个,在servlet中调用,这样大概是可以的;
      

  5.   

    servlet 在容器中啊。容器启动的时候,配置了几个端口是知道。这个值我以前取到过,就是忘了啥函数了。