JavaWeb 获取请求网络协议、IP、端口号、项目根路径

时间:2023-12-04 13:53:20

JavaWeb 获取请求网络协议、IP、端口号、项目根路径

CreateTime--2018年6月1日16点32分

Author:Marydon

1.需求

  在项目中,需要使用Java向本程序发送request请求,由于项目的发布名称、部署IP和端口不固定,

  如何才能动态获取这些信息呢?

2.代码实现

import javax.servlet.http.HttpServletRequest;
/**
* 获取url请求前缀
* @explain http://localhost:8080/test
* @param request request对象
* @return
*/
public static String getRequestPrefix (HttpServletRequest request) {
// 网络协议
String networkProtocol = request.getScheme();
// 网络ip
String ip = request.getServerName();
// 端口号
int port = request.getServerPort();
// 项目发布名称
String webApp = request.getContextPath();
String urlPrefix = networkProtocol + "://" + ip + ":" + port + webApp;
return urlPrefix;
}