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


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();
    return networkProtocol + "://" + ip + ":" + port + webApp;
}

2021年11月4日10:43:15

SpringMvc,SpringBoot控制层获取请求地址

第一步:注入对象HttpServletRequest

注意:在代码的编译期和运行期,上述的request对象都是NULL,因为此时此刻,并没有请求到达这个控制器,所以该注入的对象为空。

第二步:在请求入口里调用请求对象。

 相关推荐:

  • JavaWeb 获取ip地址
  • js 获取请求网络协议、IP、端口号、项目名称