你可以使用Apache HttpClient库来发送原始的`HttpServletRequest`请求到另一个服务。下面是一个使用`MultipartEntityBuilder`构建`HttpPost`请求的示例代码```java import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.methods.HttpPost; import org.apache.http.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.HttpClientBuilder; javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class RequestForwarder { public void forward(HttpServletRequest request, HttpServletResponse response, String targetUrl) throws IOException // 创建HttpClient实例 HttpClient httpClient = HttpClientBuilder.createbuild(); // 创建HttpPost请求 HttpPost httpPost = new HttpPost(targetUrl); // 将HttpServletRequest中的参数构建为HttpEntity MultipartEntityBuilder builder = MultipartEntityBuilder.create(); for (Part part : request.getParts()) { String name = part.getName(); String fileName = part.getSubmittedFileName(); contentType = ContentType.create(part.getContentType()); byte[] content = part.getInputStream().readBytes(); builder.addBinaryBody(name, content, contentType, fileName); } HttpEntity httpEntity = builder.build(); // 设置请求的Entity httpPost.setEntity(httpEntity); // 执行请求 HttpResponse httpResponse = httpClient.execute(httpPost); // 将响内容发送回给客端 response.setContentTypeResponse.getEntity().getContentTypegetValue()); httpResponse.getEntity().writeTo.getOutputStream()); response.flush(); } } ``你可以在控制中使用`RequestForwarder`类来处理转发请求,例如: ```java @RequestMapping("/forward") public void forward(HttpServletRequest request, response) throws IOException { String targetUrl = "://example.com/endpoint"; // 更改为实际的目标URL RequestForwarder forwarder = new RequestForwarder(); forwarder.forward(request,, targetUrl); } ``` 这样就可以将带有`HttpServletRequest`的请求原封不动地转发到另一个服务。你需要根据实际的需求来进行适当的修改。 [2023-12-14 13:52:33 | AI写代码神器 | 2125点数解答]