利用myeclipse自带的功能实现webservice
2017-12-20 18:35
411 查看
最近一直在听说WebService的一个远程调用的东西,我用Jdbc写了一套增删改查,创建了两个项目来模拟服务端和客户端的交互实现WebService,写下来,避免以后忘掉。
1、新建一个Web Service Project项目,在项目中创建实体、接口、和接口实现类
2、Cedevice.java(数据实体的java类,所以简单展示一下)
3、在CedeviceService.java接口中创建增删改查方法
4、在实现类中用jdbc完成对数据库的操作和数据返回的处理
5、建立与数据库交互的配置文件
ConnectionFactory.java
ResourceClose.java
6、在实现类中加入WebService注解,表示发布这个实现类
1、点击New Web Service的选项,选择New Web Service
2、然后在打开的页面选择第二个选项,Project里是你要发布成服务端的项目名
3、点击Next后,在新打开的页面的Java class框里写入你要发布的实现类
写完其他各项文件会自动生成,直接点击Finish结束。
这时项目中就会多出来两个文件。如下图:
web.xml文件中也会自动生成一些配置项。
4、最后一步,导入你需要的数据库jar包,博主用的mysql,然后右键点击项目,选中Build Path中的Add Libraries,出现如下界面
选中这一项点击Next
然后在新的页面最下面找到这两项选中,点击结束
启动Tomcat,服务端发布完成。
最后再利用服务端生成客户端
1、新建一个项目为aaa,点击生成服务端旁边的小箭头,选择下面的那一项,然后在打开的见面中的Project选择aaa
2、点击Next后添加如下图信息,点击Next
3、最后就会发现在你选择的路径下生成了好多java文件
图里的错误是博主后期修改导致,正常生成没有报错。
4、利用你熟悉的web框架来完成与服务端的交互,博主用的是ssm
以上就是我实现的WebService,这只是一种实现方式,网上有很多种。
本文博主原创,仅供学习,盗用必究
1、新建一个Web Service Project项目,在项目中创建实体、接口、和接口实现类
2、Cedevice.java(数据实体的java类,所以简单展示一下)
private int DEVICE_ID;//设备ID private String DEVICE_NAME;//设备名称 private String DEVICE_IP;//设备端口IP private String USERNAME;//登录用户名 private String PASSWORD;//登录密码
3、在CedeviceService.java接口中创建增删改查方法
public int add(Cedevice ce); public List<Cedevice> getAll(); public Cedevice getById(int DEVICE_ID); public int update(Cedevice oldce,Cedevice newce); public int del(Cedevice ce);
4、在实现类中用jdbc完成对数据库的操作和数据返回的处理
@Override public int add(Cedevice ce) { // TODO Auto-generated method stub Connection conn=null; PreparedStatement pstmt=null; ResultSet rs=null; try{ conn=ConnectionFactory.getConnection(); String sql="insert into ip_device_ce(DEVICE_ID,DEVICE_NAME,DEVICE_IP,USERNAME,PASSWORD) values(?,?,?,?,?)"; pstmt=conn.prepareStatement(sql); pstmt.setInt(1, ce.getDEVICE_ID()); pstmt.setString(2, ce.getDEVICE_NAME()); pstmt.setString(3, ce.getDEVICE_IP()); pstmt.setString(4, ce.getUSERNAME()); pstmt.setString(5, ce.getPASSWORD()); pstmt.executeUpdate(); }catch(Exception e){ e.printStackTrace(); }finally{ ResourceClose.close(rs, pstmt, conn); } return 1; } @Override public List<Cedevice> getAll() { // TODO Auto-generated method stub Cedevice ce=null; List<Cedevice> list=new ArrayList<Cedevice>(); Connection conn=null; Statement stmt=null; ResultSet rs=null; String sql="select * from ip_device_ce"; try{ conn=ConnectionFactory.getConnection(); stmt=conn.createStatement(); rs=stmt.executeQuery(sql); while(rs.next()){ ce=new Cedevice(); ce.setDEVICE_ID(rs.getInt(1)); ce.setDEVICE_NAME(rs.getString(2)); ce.setDEVICE_IP(rs.getString(3)); ce.setUSERNAME(rs.getString(4)); ce.setPASSWORD(rs.getString(5)); list.add(ce); } }catch(Exception e){ e.printStackTrace(); }finally{ ResourceClose.close(rs, stmt, conn); } return list; } @Override public Cedevice getById(int DEVICE_ID) { // TODO Auto-generated method stub Cedevice ce=null; Connection conn=null; PreparedStatement pstmt=null; ResultSet rs=null; try{ conn=ConnectionFactory.getConnection(); String sql="select DEVICE_ID,DEVICE_NAME,DEVICE_IP,USERNAME,PASSWORD from ip_device_ce where DEVICE_ID=? "; pstmt=conn.prepareStatement(sql); pstmt.setInt(1, DEVICE_ID); rs=pstmt.executeQuery(); while(rs.next()){ ce=new Cedevice(); ce.setDEVICE_ID(rs.getInt(1)); ce.setDEVICE_NAME(rs.getString(2)); ce.setDEVICE_IP(rs.getString(3)); ce.setUSERNAME(rs.getString(4)); ce.setPASSWORD(rs.getString(5)); } }catch(Exception e){ e.printStackTrace(); }finally{ ResourceClose.close(rs, pstmt, conn); } return ce; } @Override public int update(Cedevice oldce, Cedevice newce) { // TODO Auto-generated method stub Connection conn=null; PreparedStatement pstmt=null; ResultSet rs=null; try{ conn=ConnectionFactory.getConnection(); String sql="update ip_device_ce set DEVICE_NAME=?,DEVICE_IP=?,USERNAME=?,PASSWORD=? where DEVICE_ID=? "; pstmt=conn.prepareStatement(sql); pstmt.setString(1, newce.getDEVICE_NAME()); pstmt.setString(2, newce.getDEVICE_IP()); pstmt.setString(3, newce.getUSERNAME()); pstmt.setString(4, newce.getPASSWORD()); pstmt.setInt(5, oldce.getDEVICE_ID()); pstmt.executeUpdate(); }catch(Exception e){ e.printStackTrace(); }finally{ ResourceClose.close(rs, pstmt, conn); } return 1; } @Override public int del(Cedevice ce) { // TODO Auto-generated method stub Connection conn=null; PreparedStatement pstmt=null; ResultSet rs=null; try{ conn=ConnectionFactory.getConnection(); String sql="delete from ip_device_ce where DEVICE_ID=?"; pstmt=conn.prepareStatement(sql); pstmt.setInt(1, ce.getDEVICE_ID()); pstmt.executeUpdate(); }catch(Exception e){ e.printStackTrace(); }finally{ ResourceClose.close(rs, pstmt, conn); } return 0; }
5、建立与数据库交互的配置文件
ConnectionFactory.java
//定义数据库驱动程序 private static String driver="com.mysql.jdbc.Driver"; //定义数据库链接地址 private static String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"; //数据库用户名 private static String userName="root"; //数据库密码 private static String password="root"; //创建一个静态方法,用来连接数据库 public static Connection getConnection(){ try{ //返回一个driver类 Class.forName(driver); //返回一个登录数据库的动作,传参数链接,用户名,密码 return DriverManager.getConnection(url,userName,password); //抛出异常 }catch(Exception e){ e.printStackTrace(); //返回空 return null; } }
ResourceClose.java
public static void close(ResultSet rs,Statement stmt,Connection conn){ //描述和使用多个资源 try{ if(rs!=null)rs.close(); if(stmt!=null)stmt.close(); if(conn!=null)conn.close(); //抛出异常 }catch(Exception e){ e.printStackTrace(); } } //关闭、断开连接 public static void close(ResultSet rs,Statement stmt){ close(rs,stmt,null); } public static void close(Statement stmt,Connection conn){ close(null,stmt,conn); } public static void close(Connection conn){ close(null,null,conn); } public static void close(ResultSet rs){ close(rs,null,null); } public static void close(Statement stmt){ close(null,stmt,null); }
6、在实现类中加入WebService注解,表示发布这个实现类
**下面开始发布实现类,把这个项目当做服务端**
1、点击New Web Service的选项,选择New Web Service
2、然后在打开的页面选择第二个选项,Project里是你要发布成服务端的项目名
3、点击Next后,在新打开的页面的Java class框里写入你要发布的实现类
写完其他各项文件会自动生成,直接点击Finish结束。
这时项目中就会多出来两个文件。如下图:
web.xml文件中也会自动生成一些配置项。
4、最后一步,导入你需要的数据库jar包,博主用的mysql,然后右键点击项目,选中Build Path中的Add Libraries,出现如下界面
选中这一项点击Next
然后在新的页面最下面找到这两项选中,点击结束
启动Tomcat,服务端发布完成。
最后再利用服务端生成客户端
1、新建一个项目为aaa,点击生成服务端旁边的小箭头,选择下面的那一项,然后在打开的见面中的Project选择aaa
2、点击Next后添加如下图信息,点击Next
3、最后就会发现在你选择的路径下生成了好多java文件
图里的错误是博主后期修改导致,正常生成没有报错。
4、利用你熟悉的web框架来完成与服务端的交互,博主用的是ssm
以上就是我实现的WebService,这只是一种实现方式,网上有很多种。
本文博主原创,仅供学习,盗用必究
相关文章推荐
- 利用MySQL自带的C API函数实现数据库功能调用
- java自带webservice功能实现Javax.jws.WebService--JAX-WS
- 利用UIActivityController调用ios系统自带的分享功能,实现微信发布多图的功能
- LINE分享android利用系统自带分享实现LINE分享功能
- 利用gcc自带的功能-fstack-protector检测栈溢出及其实现
- 利用Windows7中的自带功能实现U盘加密
- 利用JAVA自带功能实现中文与ASCII互相转换
- C#利用Windows自带gdi32.dll实现抓取屏幕功能实例
- LINE分享android利用系统自带分享实现LINE分享功能
- iOS之利用系统自带API实现录音功能
- 使用Myeclipse自带的xFire来实现WebService
- 利用windows 2008 r2自带的“文件服务”实现NFS存储功能
- C#利用Windows自带gdi32.dll实现抓取屏幕功能实例
- 利用Android自带的API实现分享功能
- 利用Windows7中的自带功能实现U盘加密
- 利用Websocket实现网页调用打印功能
- 利用python实现微信头像加红色数字功能
- 利用XP系统自带的***功能进行“局域网”互联
- Linux利用PROMPT_COMMAND实现审计功能
- 利用myeclipse8.5 将使用spring配置的原工程用JAX-WS发布为webservice