???????????????????????????????????????????????д????

???????????jsp??棬??out.print("echostr")//SHA1????????????

????????????Servlet??doGet????exhostr???????????

???????????д??????????????????????????get????????????????£?

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jdom.JDOMException;

/**
 * ????????
 * @author slz
 * 2013-7-26 ????10:17:08
 */
public class WeixinServlet extends HttpServlet {

 public WeixinServlet() {
  super();
 }

 public void destroy() {
  super.destroy();
 }

 /**
  * ????????  ???????????????
  */
 public void doGet(HttpServletRequest request?? HttpServletResponse response)
   throws ServletException?? IOException {
  doPost(request?? response);
 }

 /**
  * ????????  ???н?????
  */
 public void doPost(HttpServletRequest request?? HttpServletResponse response)
   throws ServletException?? IOException {
 
  response.setCharacterEncoding("UTF-8");
  request.setCharacterEncoding("UTF-8");
  PrintWriter out = response.getWriter();
  String TOKEN = "sun";//Token
  String signature = request.getParameter("signature");//SHA1?????????
  String timestamp = request.getParameter("timestamp");//???
  String nonce = request.getParameter("nonce");//?????
  String echoStr = request.getParameter("echostr");//????????
  if(StrUtil.isNotNull(echoStr)){
          String[] a = {TOKEN??timestamp??nonce};
          Arrays.sort(a);//????????
          String str = "";
          for(int i=0;i<a.length;i++){
                  str += a[i];
          }

          String echo = new SHA1().getDigestOfString(str.getBytes());//SHA1????

          if(echo.equals(signature)){
                  out.print(echoStr);
          }else{
                  out.print("123");
          }
  }else{
          try {
                  InputStream is = request.getInputStream();
                  PushManage push = new PushManage();
                  String getXml = push.PushManageXml(is);
                  System.out.println("getXml:"+getXml);
                  out.print(getXml);
          } catch (JDOMException e) {
                  out.print("");
          }
  }
  out.flush();
  out.close();
 }

}