【问题标题】:Return Response (HttpServletResponse) to HttpServletRequest返回响应 (HttpServletResponse) 到 HttpServletRequest
【发布时间】:2017-08-04 11:41:31
【问题描述】:

当我尝试将javax.ws.rs.core.Response转换为javax.servlet.http.HttpServletResponse时,我总是以ClassCastException结尾

我的 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 正文)。

有人可以帮忙吗?

【问题讨论】:

    标签: java servlets jetty jax-rs


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 是的,我也发现这是唯一的方法
    猜你喜欢
    • 2016-08-11
    • 2014-01-27
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多