从网络服务重定向到 jsp 页面

Redirecting to a jsp page from a webservice

我在 Tomcat 服务器中有一个网络服务 运行。它从用户那里获取输入并向其附加 hello。现在,我希望这个 Hello + entered input 显示在 jsp 页面中。是否可以将值从 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 + ".";
    }
}

谢谢,

从第一页获取用户输入:

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 服务调用是发送到您的 Web 服务的 XML 格式的 SOAP 消息。调用您的 Web 服务的客户端正在这样做,期望将发送回格式相似的 Web 服务响应。您在这里要问的是,您将发送回一个 HTML 文件代替。看到问题了吗?

底线:您不能使用 HTML(或 JSP 生成的 HTML)响应[= 来响应 SOAP 请求10=]