将响应(HttpServletResponse)返回给HttpServletRequest

时间:2017-03-14 08:18:35

标签: java servlets jetty jax-rs

在尝试将ClassCastException投射到javax.ws.rs.core.Response

时,我总是以javax.servlet.http.HttpServletResponse结束

我的Servlet看起来像这样:

@GET
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Response myResponse = processRequest(request);
        //myResponse -> response
}

servlet托管在一个码头上:

context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.addServlet(new ServletHolder(servlet),"/*");

如果可能的话,我想返回myResponse的内容(如果重要的话,基本上是一些json主体)。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我认为您不能以响应(自定义)格式将响应从servlet发送到上游。

您需要在向上游发送响应时设置HttpServletrequest和HttpServletResponse中的值。

以下是我在servlet中以json格式发送数据的建议。

将您的JSON数据作为字符串放在String对象中。 在request.setAttribute()中设置此对象;并使用属性的名称来获取ajax函数中的值。使用JSON.parse()将字符串转换为JSON。