java獲取訪問服務器路徑

我們有的時候會在service層獲取request填充一些諸如用戶名和IP地址等信息,這個時候如果不想從Controller層傳request,可以在service直接使用

/**
  *在service層獲取request
**/
public static HttpServletRequest getHttpServletRequest() {
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        return request;
    }
    /**
     * 返回服務器路徑
     * @return
     */
    public static String getServerPath() {
        HttpServletRequest request = getHttpServletRequest();
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(request.getScheme());  //http
        stringBuilder.append("://");
        stringBuilder.append(request.getServerName());  //127.0.0.1
        stringBuilder.append(":");
        stringBuilder.append(request.getServerPort());  //8080
        stringBuilder.append(request.getContextPath()); //項目名稱
        return stringBuilder.toString();  //http://127.0.0.1:8080/
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章