使用Servlet发布WebService
2020-12-13 04:09
标签:style blog class code c java 首先感谢熔岩的文章: http://lavasoft.blog.51cto.com/62575/227988 1.Eclipse安装上tomcat插件,http://www.eclipsetotale.com/tomcatPlugin.html下载后解压者eclipse的plugin目录 2.建立一个WebService: 3.在Eclipse中新建一个tomcat工程,建立一个Servlet: 4.编辑web.xml: 这里将服务发布的代码写在了Servlet的init()方法中,当Servlet加载时候,会自动执行init()里面的方法。从而达到发布服务的目的,由于此Servlet不处理任何业务,因此,在Service里面仅仅写了一个提示性的语句。 5.启动Tocmat,现在可以访问这个服务了 6.访问webservice:http://localhost:8888/java6ws/Java6WS?wsdl 7.几个注意的问题: a.如果在eclipse直接使用tomcat插件部署发现停止tomcat后webservice仍然可以访问,手工部署到tomcat后则可以通过tomcat的停止和启动来控制。 b.通过eclipse的tomcat插件打包成war,然后拷贝至tomcat的webapp目录下发布,如果有更新,则需要删除掉tomcat解包war自动生成的目录及文件。 使用Servlet发布WebService,搜素材,soscw.com 使用Servlet发布WebService 标签:style blog class code c java 原文地址:http://www.cnblogs.com/GarfieldTom/p/3731737.htmlpackage com.garfield.webservice;
import javax.jws.WebService;
/**
* Java6开发的WebService服务端
*
* @author leizhimin 2009-11-16 10:24:13
*/
@WebService
public class HelloWebservice {
/**
* Web服务中的业务方法
*
* @return 一个字符串
*/
public String doSomething(String username) {
return username + " is doing something!";
}
}
package com.garfield.servlet;
import java.io.IOException;
import javax.servlet.GenericServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.xml.ws.Endpoint;
import com.garfield.webservice.HelloWebservice;
/**
* 发布Java6 WebService的Servlet,
*
* @author leizhimin 2009-11-16 13:52:49
*/
public class WSServlet extends GenericServlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
super.init(servletConfig);
System.out.println("准备启动WebService服务:http://localhost:8888:8888/java6ws/Java6WS");
//发布一个WebService
Endpoint.publish("http://localhost:8888/java6ws/Java6WS", new HelloWebservice());
System.out.println("已成功启动WebService服务:http://localhost:8888:8888/java6ws/Java6WS");
}
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("此Servlet不处理任何业务逻辑,仅仅yonglai发布一个Web服务:http://localhost:8888:8888/java6ws/Java6WS");
}
}
DOCTYPE web-app PUBLIC
‘-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN‘
‘http://java.sun.com/dtd/web-app_2_3.dtd‘>
web-app>
servlet>
servlet-name>WSServletservlet-name>
servlet-class>com.garfield.servlet.WSServletservlet-class>
load-on-startup>1load-on-startup>
servlet>
servlet-mapping>
servlet-name>WSServletservlet-name>
url-pattern>/servlet/WSServleturl-pattern>
servlet-mapping>
web-app>