从Web服务重定向到jsp页面

时间:2015-01-23 04:17:08

标签: java web-services jsp

我正在Tomcat服务器上运行Web服务。它从用户获得输入并向其追加hello。现在,我想在jsp页面中显示 Hello +输入。是否可以直接将java程序中的值发送到jsp页面。如果是这样,请告诉我如何做到这一点?

任何帮助或示例程序都将受到高度赞赏。

在此处附加我的java代码

  

import javax.jws.WebService;
import javax.jws.WebMethod;

@WebService
public class Hello {
    private String message = new String("Hello, ");
    String name1;

    public Hello() {
    }

    @WebMethod
    public String sayHello(String name) throws Exception {
        this.name1 = name;
        System.out.println("The value of name1 is " + name1);
        return message + name + ".";
    }
}

谢谢,

2 个答案:

答案 0 :(得分:0)

这是不可能的,原因如下:

Web服务调用是发送到Web服务的XML格式的SOAP消息。调用您的Web服务的客户端正在这样做,期望将发回类似格式的Web服务响应。你在这里要问的是,不是发送你已经承诺过你的Web服务客户端的预期XML格式的SOAP响应(通过发布WSDL),而是发送回HTML文档。看到问题了?

底线:您无法使用HTML(或JSP生成的HTML)响应响应SOAP请求

答案 1 :(得分:-1)

从第一页获取用户输入:

String userInput = request.getParameter("userInput");

在java代码中将数据转发到asp文件

String url = "/WEB-INF/JSP/display.jsp"; //Assumes this exists
RequestDispatcher rd = getServletContext().getRequestDispatcher(url);
request.setAttribute("userInput", userInput);
rd.forward(request,response);

在JSP中

<%
      String userInput = (String) request.getAttribute("userInput");
%>

在JSP中打印

<h1><%=userInput%></h1>

编辑: 我的道歉,我的第一个答案是关于Apache Tomcat而不是jws。

请参阅本指南的此部分:Developing a Web client for Calculator

似乎您只需将初始HTML页面上的表单操作转发到单独的结果页面,该页面将使用您创建的Web服务。