package com.basic.security; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; public class GetApk extends HttpServlet { // http://192.168.1.116:8080/getApk?apkName=Security_simplify¤tApkVersion=1 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("GetApk.doGet()"); String apkName = request.getParameter("apkName"); String currentApkVersionStr = request.getParameter("currentApkVersion"); Gson gson = new Gson(); Map responseMap = new HashMap(); responseMap.put("hasNewVersion", "false"); try { File apkFiles[] = new File(getServletContext().getRealPath("")).listFiles(); for (File apkFile : apkFiles) { String newApkFileName = apkFile.getName(); if (newApkFileName.endsWith(".apk") && newApkFileName.startsWith(newApkFileName)) { try { int newVersion = Integer.parseInt(newApkFileName.replace(apkName, "").replace(".apk", "")); int currentApkVersion = Integer.parseInt(currentApkVersionStr); if (newVersion > currentApkVersion) { responseMap.put("hasNewVersion", "true"); responseMap.put("newApkName", newApkFileName); responseMap.put("newApkSize", apkFile.length()+""); } } catch (Exception e) { e.printStackTrace(); } } } } catch (Exception e) { e.printStackTrace(); } response.setContentType("application/json"); PrintWriter out = response.getWriter(); out.println(gson.toJson(responseMap)); out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println(" A Servlet"); out.println(" "); out.print(" This is "); out.print(this.getClass()); out.println(", using the POST method"); out.println(" "); out.println(""); out.flush(); out.close(); } public GetApk() { super(); } public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void init() throws ServletException { } }