WebService体系之——CXF+SPRING文件上传
? ? ? ? 摘要:此篇笔记实现一个web项目中不可避免的功能——文件上传。主要是FileEntity这个file的封装javaBean的构建。测试时使用两种方法、一种是原始的获取webservice接口掉结果、另一种是使用spring实现上传。
?
一:简介
?
? ? ? ??在前面搭建的spring+webservice项目的基础上实现文件上传。
? ? ? ??1、在服务器端添加一个表示file信息的JavaBean:FileEntity。
? ? ? ??2、创建上传文件的服务接口。
? ? ? ??3、实现上传文件的服务接口。
? ? ? ??4、将上传文件的服务接口通过spring注册发布。
? ? ? ??5、新建webservice客户端项目(可直接使用前面笔记中创建的客户端项目)。
? ? ? ??6、在客户端创建file实体类:FileEntity(属性名要完全相同、简单点就是直接拷贝、包名也要一样)。
? ? ? ??7、创建与服务端功能完全相同的上传文件接口(直接拷贝。注意包名也要一样)。
? ? ? ??8、使用spring配置文件获取服务器端发布的上传文件的webservice。
? ? ? ??9、测试:
? ? ? ??? ? ? ??a)???????使用原始的获取方式测试。
? ? ? ??? ? ? ??b)???????使用spring注册的webservice测试。
二:具体实现步骤
? ? ? ??1、在服务器端添加一个表示file信息的JavaBean:FileEntity代码:
- package?com.chy.ws.entity;??
- ??
- import?javax.activation.DataHandler;??
- public?class?FileEntity?{??
- ????private?String?fileName;??
- ????private?String?fileType;??
- private?DataHandler?file;??
- public?String?getFileName()?{??
- ????????return?fileName;??
- ????}??
- void?setFileName(String?fileName)?{??
- ????????this.fileName?=?fileName;??
- ????}??
- public?String?getFileType()?{??
- return?fileType;??
- void?setFileType(String?fileType)?{??
- this.fileType?=?fileType;??
- public?DataHandler?getFile()?{??
- return?file;??
- void?setFile(DataHandler?file)?{??
- this.file?=?file;??
- }??
? ? ? ??2、创建上传文件的服务接口——UploadFileService代码:
copy
?
package?com.chy.ws.service;??
import?javax.jws.WebMethod;??
import?javax.jws.WebParam;??
import?javax.jws.WebService;??
import?com.chy.ws.entity.FileEntity;??
@WebService??
interface?UploadFileService?{??
??????
????@WebMethod??
void?uploadFile(@WebParam(name="fileEntity")?FileEntity?fileEntity);??
}??