将数据从Servlet发布到Rest webservice

时间:2016-02-24 05:16:54

标签: java rest java-ee jersey-2.0 jersey-client

我想将表单数据提交给servlet,Jersey rest client 在这个servlet中我必须调用Restful Webservice

我必须将所有表单数据传递给其余的Web服务,然后我们将从rest到servlet获取响应对象。

我必须将此响应对象直接传递到JSP页面,此处请求和响应将采用JSON格式。

2 个答案:

答案 0 :(得分:0)

您可以使用servlet通过sendRedirect("<url>")

将数据发送到Web服务

答案 1 :(得分:0)

是否真的有必要从Servlet调用REST类?

如果是这样,以下是方法。但是您的REST调用将被视为普通类。要调用Rest类的任何方法,您必须创建其对象并访问其方法。

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String requestURI           = req.getRequestURI();

    RestClass restClassObj  = new RestClass();

    String parameter1 = "";
    String parameter2 = "";
    String parameter3 = "";

    String restResponse = "";       
    if(StringUtils.endsWith(requestURI, "services") || StringUtils.endsWith(requestURI, "services/")){
        parameter1 = req.getParameter("parameter1");
        parameter2 = req.getParameter("parameter2");
        parameter3 = req.getParameter("parameter3");

        restResponse = restClassObj.getRestClassMethodResponse(parameter1,parameter2,parameter3);
    }
    resp.setContentType("application/json");
    resp.getWriter().write(restResponse);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    doGet(req,resp);
}

现在RestClass是,

public class RestClass {
    public RestClass() {

    }

    public String getRestClassMethodResponse(@FormParam("parameter1") String parameter1, @FormParam("parameter2") String parameter2, @FormParam("parameter3") String parameter3){

        //Now write your own logic and return the data to the Servlet class in //JSON format

        return jsonResponse;
    }
}