【问题标题】:Absolute URL in javajava中的绝对URL
【发布时间】:2011-01-31 05:07:19
【问题描述】:

我试图在 java 类中获取绝对 URL,但即使在将其类型转换为 Object 之后也会出现错误。

任何建议

   String file = ((Object) request).getRequestURI();
     if (((Object) request).getQueryString() != null) {
        file += '?' + ((Object) request).getQueryString();
     }
     URL reconstructedURL = new URL(request.getScheme(),
                                    request.getServerName(),
                                    request.getServerPort(),
                                    file);
     System.out.println(URL.toString());

【问题讨论】:

  • request 的实际类型是什么?默认情况下,request 已经是一个Object(不需要强制转换),而且它肯定不包含getRequestURI 方法。我认为您遇到了未找到方法的错误。请求应该是 HttpServletRequest 吗? download.oracle.com/javaee/6/api/javax/servlet/http/…
  • @Daniel:是的,应该是 HttpServletRequest。

标签: java url object request absolute-path


【解决方案1】:

除了@Daniel 所说的URL 类没有像.toString() 这样的静态方法。你应该改用reconstructedURL

我不测试,但请尝试一下

String file = (request).getRequestURI();
if ((request).getQueryString() != null) {
    file += '?' + (request).getQueryString();
}

URL reconstructedURL = new URL(request.getScheme(),
                               request.getServerName(),
                               request.getServerPort(),
                               file);
System.out.println(reconstructedURL.toString());

【讨论】:

    【解决方案2】:

    转换为 Object 从来都不是必需的,因为一切都是对象。我建议发布错误的堆栈跟踪。

    ((Object) request).getRequestURI() 不起作用,因为 Object 没有 getRequestURI() 函数。让演员离开吧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 2018-08-14
      • 2011-05-22
      • 1970-01-01
      • 2015-01-14
      相关资源
      最近更新 更多