我正在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 + ".";
}
}
谢谢,
答案 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服务。