我学习的servlet,我想出了之间的差异疑问getLocalPort()和getServerPort().这getLocalPort()意味着服务器方面只有什么意思getServerPort()?
谢谢.
Joa*_*uer 25
在一个简单的设置中(您的应用程序服务器/ servlet容器直接接受客户端的请求),两个方法都将返回相同的值.
当servlet容器不是接受客户端请求的应用程序时(例如,当您使用带有mod_jk的Apache HTTP服务器接受请求并通过AJP将请求转发到Tomcat实例时),getServerPort()则将返回客户端连接到的端口(可能是80,当使用默认端口时)getLocalPort()并将返回Tomcat用于接受来自HTTP服务器的连接的端口(可能是8009或类似的东西).
让我们看看javadoc的意思getLocalPort():
返回接收请求的接口的Internet协议(IP)端口号.
这就是我们可以阅读的内容getServerPort():
返回发送请求的端口号.它是Host头值中的":"之后的部分的值(如果有),或者是接受客户端连接的服务器端口.
因此,如果客户端向http://mydomain.com:80/发送请求然后"路由"到另一个端口(可能是另一台机器)上侦听的容器,getServerPort()则会返回80并将getLocalPort()容器的端口返回到转发请求,让我们说7001一个WebLogic实例正在侦听该端口.
| 归档时间: |
|
| 查看次数: |
15937 次 |
| 最近记录: |