《如何利用tomcat部署webservice进行客户端开发》由会员分享,可在线阅读,更多相关《如何利用tomcat部署webservice进行客户端开发(18页珍藏版)》请在金锄头文库上搜索。
1、如何利用Tomcat部署Web Service服务进行客户端开发环境的准备: 下载jaxws-ri-2.2.5包。一、 开发并发布Web Service在这里是通过jax在tomcat部署并发布Web Service的,当然发布Web Service还有其他的方法,在这里有兴趣的读者可以深入研究,这里不再多做阐述。我们先发布一个简单的Web Service,逐步的添加其他功能。首先从服务器端开始。1.1新建一个Web Service project/Web project, 在这里我新建的名字为SSHSystemWebService。接着新建包,包名为com.system.webservice
2、。接着步入正题。开始编写我们的service。这里新建一个接口,取名叫MyUserService。在这个service中,打算提供用户登录、添加用户、删除用户、得到用户列表四个功能。编写MyUserService.java :package com.system.webservice;import java.util.List;import javax.jws.WebParam;import javax.jws.WebService;import com.system.entity.User;WebServicepublic interface MyUserService public voi
3、d add(WebParam(name = user) User user); public void delete(WebParam(name = user) User user); public List list(); public User login(WebParam(name = username)String username, WebParam(name = password)String password);上面红色WebService是java自提供的注解,表示这是一个webService。WebParam(name = user)表示这个参数在wsdl中的名字是user,
4、如果你没有指定,这个参数可能会是arg0等,为了让参数和我们本地服务器端的参数名统一起来,建议用这个WebParam注解。1.2 接着编写实现类新建一个实现类,这里取名叫: MyUserServiceImpl , 实现MyUserService接口MyUserServiceImpl.javapackage com.system.webservice;import java.util.List;import javax.jws.WebService;import com.system.dao.UserDao;import com.system.entity.User;WebService(end
5、pointInterface = com.system.webservice.MyUserService,wsdlLocation=WEB-INF/META-INF/wsdl/service.wsdl,portName=UserServicePort,serviceName=UserService,targetNamespace=http:/ class MyUserServiceImpl implements MyUserService public UserDao userDao = new UserDao();public UserDao getUserDao() return user
6、Dao;public void setUserDao(UserDao userDao) this.userDao = userDao;public User login(String username, String password) System.out.println(Service:Login(Method) is running!);return userDao.login(username, password);public void add(User user) System.out.println(Service:CreateUser(Method) is running!);
7、userDao.createUser(user);public List list() System.out.println(Service:UserList(Method) is running!);return userDao.getUserList();public void delete(User user) System.out.println(Service:Delete(Method) is running!);userDao.deleteUser(user);上面红色WebService(endpointInterface com.system.webservice.MyUse
8、rService)暂时只需要这个注解参数,后面的注解在这里可以不理会。他的意思是这个WebService的接口是谁。在这里写上具体的包名和类名。1.3 现在一个简单的WebService已经写好,接着写发布类进行发布,测试是否成功。新建一个类,这里取名叫做MyServiceStartMyServiceStart.java:package com.system.webservice;import javax.xml.ws.Endpoint;public class MyServiceStart public static void main(String args) Endpoint.publi
9、sh(http:/localhost:8688/ssh, new MyUserServiceImpl();Java中自带的封装类,进行WebService的发布。Publish中的第一个参数,是我们发布的url,就是由你指定通过哪个地址来访问你刚刚发布的服务。第二个参数是这个服务的具体实现类对象。接着,我们运行这个这个类,然后访问http:/localhost:8688/ssh地址,进行测试。如果出现能出现该页面,说明发布成功。可以通过该http:/localhost:8688/ssh?xsd=1地址查看具体的元素定义。OK,到此,一个简单的WebService发布成功。2 但是我们的目的远没
10、有达到。我们希望把自己的WebService部署到类似Tomcat的服务器上,可以提供一个接口给开发人员。而不去关心这个调用这个接口所依赖的系统和开发语言。2.1 在这里,提供的用户登录、添加用户、删除用户、得到用户列表四个功能都将具体的依赖于数据库。所以第一步需要建立数据库。表名为user_login,并插入了三条数据。既然是Web Project,在这里就整用了Hebrinate进行数据库的操作。2.2 新建包,包名为com.system.entity. 新建一个实体类,叫做UserUser.class:package com.system.entity;public class User
11、 private int userId;private String username;private String password;public int getUserId() return userId;public void setUserId(int userId) this.userId = userId;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() re
12、turn password;public void setPassword(String password) this.password = password;public User() super();public User(int userId, String username, String password) super();this.userId = userId;this.username = username;this.password = password;User类有三个属性,username.password,userId.和数据库中的user_login表的列相对应。接着进行user.hbm.xml的编写: oracl_sequence 这里就不再对配置文件进行过多的阐述和说明了。编写hibernate.cfg.xml:?xml version=1.0 encodi