WebService搭建简单的客户端、服务端 + Servlet

工作环境

  win10、myeclipse2014、tomact8.0

温馨小提示:

   1. tomcat里面没有WebService相关的包是用不了,我从官网下的 tomact把WebService 项目跑起来竟然报错,错误也在这里贴一下。

HTTP Status 404 – Not Found
Type Status Report

Message /WebSerTest2/SayHelloWorldPort

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Apache Tomcat/7.0.91

在这里插入图片描述
如果遇到错误是 HTTP Status 404 – Not Found,把其他常规的错误都排除掉了,可以看一下是不是 tomact 、myeclipse等环境的原因。我遇到这个问题没去百度查 tomcat 怎么装和 WebService 相关 jar 包的,同事直接把她的 tomcat 给我,把代码跑起来就 ok 了。这里我也把能解决这个错误的 tomcat 分享一下。
tomcat8.0 WebServic能用 :
链接:https://pan.baidu.com/s/10vUbtyYns9q5qL-DmxBhbA
提取码:yubv

一、新建WebService 服务端

1.新建 Web Service Project,步骤:File ----> New ----> Web Service Project 。新建项目过程中有两个小细节需要注意。

在这里插入图片描述
在这里插入图片描述

2. 导入 JAX-WS 包,文字步骤就不写了,看图片一步步点下去就好。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3. 创建服务实现类。 右键 src ----> New ----> Class ----> 输入包名 类名,点击finish.

在这里插入图片描述
在这里插入图片描述
在类中创建两个实现方法。

package com.ffcs.demo.ws;

public class SayHelloImpl {
	/**
	 * 1.接口1
	 * @param inXml
	 * @return
	 */
	public String hello1(String inXml) {
		String outXml = "hello hello11111" + inXml;
		return outXml;
	}
	/**
	 * 1.接口2
	 * @param inXml
	 * @return
	 */
	public String hello2(String inXml) {
		String outXml = "hello hello22222" + inXml;
		return outXml;
	}
}
4. 新建 web Service。文字步骤就不写了,看图片一步步点下去就好。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5 .验证并获取 WSDL 文件。把项目部署到Tomcat,启动。

(1)把项目部署到Tomcat,启动。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2) 验证并获取 WSDL 文件。
在这里插入图片描述
在这里插入图片描述
如果这里出现

HTTP Status 404 – Not Found

这个错误,去看一下本博客开头,是不是那个错误。

二、新建WebService 客户端


这里需要特别说明一下,如果你的项目是要部署到 Weblogic 上,其实只有一个步骤稍有不同,下面会有提示 。


1. 新建 Web 项目(Dynamic Web Project)File ----> New ----> Other

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

新建一个包 com.ffcs.demo.service,然后新建web service 服务端

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

点击 next ----> finish 完成。看到 com.ffcs.demo.service 包下生成调用 web service服务端的 Java类,说明客户端创建成功。

特别说明:,如果你的项目是要部署到 Weblogic 上,只有上面这里不同,WSDL URL 路径 需要的是 服务端部署到 Weblogic 上,用浏览器访问生成那个 WSDL URL,详情请看我 另一篇博客。

把 Web 项目部署到 Weblogic

在 com.ffcs.demo.service 包下新建一个 Test 测试类,输入测试代码。
package com.ffcs.demo.service;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//1. 创建服务SayHelloImplService
        SayHelloImplService service = new SayHelloImplService ();
		//2. 根据SayHelloImplService 服务获取调用客户端
	    SayHelloImplDelegate d = service.getSayHelloImplPort();
	    //3. 调用具体接口服务
	    System.out.println(d.hello1(""));
	    
	    System.out.println(d.hello2(""));
	}
}
启动测试类,小细节:启动该测试类的时候,部署服务端的 tomact 一定也是启动状态。测试结果:

在这里插入图片描述

可以看到 ,客户端调用服务端成功。

三、加上 Servlet

1. 在 com.ffcs.demo.service 包下新建 Servlet

在这里插入图片描述
在这里插入图片描述

点击下一步、下一步、完成。
2.重写 doGet() doPost() 函数。
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		//1. 创建服务SayHelloImplService
        SayHelloImplService service = new SayHelloImplService ();
		//2. 根据SayHelloImplService 服务获取调用客户端
	    SayHelloImplDelegate d = service.getSayHelloImplPort();
	    //3. 调用具体接口服务
	    String rs = d.hello1("");
	    response.getOutputStream().write(rs.getBytes());
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

            doGet(request, response);
	}

3. jsp
<body>
       <form action="servletServiceTomcat" method="post">
		<input type="text" name="name" />
		<input type="submit" value="submit"/>
	</form>
  </body>
客户端项目结构

在这里插入图片描述

4. 把服务端项目 HelloWebService 和服务端 HelloClientWeb

部署到 myeclipse tomcat 。启动 tomcat , 浏览器访问。
在这里插入图片描述
在这里插入图片描述

小提示:如果出现 HTTP Status 404

详情看我另一篇博客HTTP Status 404 (URL)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值