1.打开eclipse创建一个maven项目
2.创建组ID与项目名称
3. 修改maven默认的JDK版本
选中项目名称-》单击鼠标右键-》选择Properties属性-》选择ProjectFacets属性:
将JAVA的版本改为1.6
选择Java Build Path属性-》点击Source
移除缺失的文件目录,然后新增这两个文件目录
4. 为项目添加Servlet支持,在pom.xml中添加
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
5.创建实体类User.java
package com.mycompany.life.model;
public class User {
private int uid;
private String account;
private String password;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
6.创建WebService类UserManager.java
package com.mycompany.life.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
import com.mycompany.life.model.User;
@WebService
public class UserManager{
@WebMethod
public void save(User user) {
// TODO Auto-generated method stub
System.out.println(user.getAccount()+":"+user.getPassword());
}
}
7. 创建一个servlet,利用servlet的生命周期,发布我们的WebService
package com.mycompany.life.ws.service;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.xml.ws.Endpoint;
import com.mycompany.life.ws.UserManager;
public class UserManagerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public UserManagerServlet() {
}
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("start");
Endpoint.publish("http://localhost/UserManager", new UserManager());
}
@Override
public void destroy() {
System.out.println("end");
}
}
8.在web.xml中做相应的映射
<servlet>
<servlet-name>UserManagerServlet</servlet-name>
<servlet-class>com.mycompany.life.ws.service.UserManagerServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>UserManagerServlet</servlet-name>
<url-pattern>/UserManagerServlet</url-pattern>
</servlet-mapping>
在tomcat中运行项目,然后在浏览器中输入http://localhost/UserManager?wsdl
如果浏览器出现下面情况,说明发布成功。
9.生成客户端需要的class文件。
进入命令行,执行
wsimport –d . –p com.mycompany.life.ws http://localhost/UserManager?wsdl
执行这表命令的时候,要保证我们的WebService已经发布成功。
然后打成JAR包,给客户端使用
jar cvf user-manager.jar com
10.新建一个动态WEB项目,将生成的JAR包拷贝在lib里。
新建一个测试类
package test;
import com.mycompany.life.ws.User;
import com.mycompany.life.ws.UserManager;
import com.mycompany.life.ws.UserManagerService;
public class Test {
public static void main(String[] args) {
UserManagerService service = new UserManagerService();
UserManager um = service.getUserManagerPort();
User user = new User();
user.setAccount("abc");
user.setPassword("123");
um.save(user);
}
}
运行,输出 abc:123