Android网络编程之Web Service初步(服务器端搭建)
本程序服务器端选用Tomcat服务器搭载Axis Web Service,首先新建一个动态网页项目,在其中编写一个service的接口,定义要提供服务的方法
1 package com.moka; 2 3 public interface IFileServices { 4 5 public void save(String fileName, String content); 6 public String load(String fileName); 7 8 }
然后实现这个接口
1 // WebService启动 2 public class FileServiceImpl implements IFileServices { 3 4 @Override 5 public void save(String fileName, String content) { 6 7 // 设置本服务器文件存放路径 8 File file = new File("D:" + File.separator + "testfile" + File.separator + fileName); 9 if (!file.getParentFile().exists()) { 10 file.getParentFile().mkdirs(); 11 } 12 try { 13 // 取得输出流 14 PrintStream ps = new PrintStream(new FileOutputStream(file)); 15 ps.print(content); // 输出数据到目标路径 16 ps.close(); 17 } catch (FileNotFoundException e) { 18 e.printStackTrace(); 19 } 20 } 21 22 @Override 23 public String load(String fileName) { 24 // 取得本服务器文件存放路径 25 File file = new File("D:" + File.separator + "testfile" + File.separator + fileName); 26 if (!file.getParentFile().exists()) { 27 file.getParentFile().mkdirs(); 28 } 29 StringBuffer stringBuffer = new StringBuffer(); 30 // 获得一个Scanner 31 try {
// 读取数据 32 Scanner scanner = new Scanner(new FileInputStream(file)); 33 scanner.useDelimiter("\n"); 34 while (scanner.hasNext()) { 35 stringBuffer.append(scanner.next()); 36 } 37 scanner.close(); 38 } catch (FileNotFoundException e) { 39 e.printStackTrace(); 40 }
// 返回给调用此方法的客户端 41 return stringBuffer.toString(); 42 } 43 44 }
接下来是Web Service的添加,在动态网页项目上点击新建web service如图配置,服务实现选到刚刚写的FileServiceImpl,下一步选择自动生成service
、
这里要注意如果Tomcat服务器版本大于等于7.0的话,在构建动态网页项目时要将Dynamic web module version选为小于等于2.5,否则不能使用最新的Axis2