在应用初始化的时候
也即是说,不能从 request 中拿
1
johnny23 2017-05-02 18:59:43 +08:00 via iPhone
没用过...但是端口都是在 xml 里面配置的 按理可以读取这个 xml 的 我猜的...
|
2
kevinzhwl 2017-05-02 19:55:19 +08:00
通过 java 环境变量带进去,读 server.xml,或者启动之后立刻给自己发个 request。都行但也都不能 100%
|
3
SoloCompany 2017-05-02 20:25:41 +08:00 via iPhone
connector 和 catalina 是两个完全独立并且平行的模块
理论上 host 以及 app ( servlet context )这一层是没有 ip 地址和端口概念的,和你在生命周期的哪一个阶段并无关联 所以你只能选择和容器实现完全捆绑的方法去实现,比如,通过 catalina.base property 找到 conf 目录位置,然后打开 server.xml 去解释 connector 的配置 |
4
woshixiaohao1982 2017-05-02 22:49:18 +08:00
没有用 servlet 规范里面 没有这个接口
|
5
beneo 2017-05-02 22:57:48 +08:00
下载的 tomcat 是 conf/server.xml 配置的,如果是内嵌 tomcat 是可以代码设置的
|
6
chocotan 2017-05-03 09:05:33 +08:00
http://stackoverflow.com/questions/3867197/get-the-server-port-number-from-tomcat-with-out-a-request
上面链接里第二个答案在 tomcat7 下面是可以的,tomcat8 没试 如果是 spring-boot,可以 @LocalServerPort |