我想使用 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/