java - 使用 Jetty 9 从 HttpClient 获取响应时出错

标签 java servlets jetty jetty-httpclient

我想使用 Jetty 和 HttpClient 类从外部服务器获取内容。现在我想将获得的响应复制为 HttpServletResponse 并返回给客户端(浏览器)。我尝试过一些但无法成功。我想我没有通过内部类(class)。

这是我的代码:

public void getContentsTo(String uri,HttpServletRequest request,final HttpServletResponse response){
        HttpClient httpClient=new HttpClient();
        httpClient.newRequest(uri).send( new org.eclipse.jetty.client.api.Response.CompleteListener() {
            @Override
            public void onComplete(Result result) {
                response=(HttpServletResponse)result.getResponse();
            };
        });

错误是将 response 分配为:

The final local variable response cannot be assigned, since it is defined in an enclosing type

如果我不使用 final 作为参数,也会出现错误,

Cannot refer to a non-final variable response inside an inner class defined in a different method

是什么原因?

最佳答案

result.getResponse() 响应是一个 org.eclipse.jetty.client.HttpResponse,它在其沿袭的任何地方都没有 HttpServletResponse。如果我按照您的尝试进行操作,您将需要复制您获得的结果中的信息并将其放入您的 HttpServletResponse 对象中。

关于java - 使用 Jetty 9 从 HttpClient 获取响应时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16670953/

相关文章:

java - JRebel:javax.servlet.ServletException:javax.servlet.ServletException:过滤请求失败

java - 求封闭 GeneralPath 所包围的区域

java - 将 lambda 转换为方法引用

java - MySQL如何给指定数据库设置密码

java - org.apache.jasper.JasperException 错误

spring - 在运行时 web 应用程序如何使用在项目的 pom.xml 中不同的 servlet-api.jar?

servlets - 如何解决从response.getWriter()抛出的Sonar违规问题

java servlet上下文无法加载application.property文件

java - Jetty 日志记录配置错误

scala - 为什么Jetty用文本/html内容类型提供CSS