最近在学习Retrofit框架,看了网上好多教程觉得写的不是不够详细就是看不懂,费了好大劲才整通,于是分享出来希望对大家有用
第一步 服务端接收数据
在准备服务端程序的时候需要准备这些jar包,不然会报错到你怀疑人生,这些包一个都不能少
public class ServletOne extends HttpServlet {
//post上传,此处用动Post方法接受
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
String action = request.getParameter("action");
if (action.equalsIgnoreCase("upload_pic")) {
System.out.println("进入doPost方法" + action);
String responseText = JSONUtils.toPicResponse(PicBussiness.upLoadFile(request));
System.out.println("响应数据:" + responseText);
response.getWriter().write(responseText);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
JSONUtils.java代码,将处理的结果转成JSon字符串返回客户端
package utils;
import net.sf.json.JSONObject;
public class JSONUtils {
public static String toPicResponse(String resp) {
final JSONObject jsonObject = new JSONObject();
jsonObject.put("imgresult", resp);
return jsonObject.toString();
}
}
PicBussiness.java处理接受到的图片数据
import java.io.File;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;
import javassist.bytecode.Descriptor.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.swing.plaf.synth.SynthOptionPaneUI;
import javax.xml.crypto.Data;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload