少年阿賓

          那些青春的歲月

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(22)

          我參與的團(tuán)隊(duì)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          //客戶端代碼,用來(lái)測(cè)試訪問(wèn)Servlet:

          package com.abin.lee.ssh.basic.https;

          import java.io.BufferedInputStream;
          import java.io.File;
          import java.io.FileInputStream;
          import java.security.KeyStore;
          import java.text.SimpleDateFormat;
          import java.util.ArrayList;
          import java.util.List;

          import org.apache.http.HttpResponse;
          import org.apache.http.HttpVersion;
          import org.apache.http.NameValuePair;
          import org.apache.http.client.HttpClient;
          import org.apache.http.client.entity.UrlEncodedFormEntity;
          import org.apache.http.client.methods.HttpPost;
          import org.apache.http.client.params.AllClientPNames;
          import org.apache.http.conn.scheme.Scheme;
          import org.apache.http.conn.ssl.SSLSocketFactory;
          import org.apache.http.impl.client.DefaultHttpClient;
          import org.apache.http.message.BasicNameValuePair;
          import org.apache.http.protocol.HTTP;
          import org.junit.Test;

          public class GetUnionpayMessageTest {
           private static final String HTTPURL = "

           @Test
           public void testGetMessageState() throws Exception {
            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost =new HttpPost(HTTPURL);
                  httpClient.getParams().setParameter(AllClientPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
                  httpClient.getParams().setParameter(AllClientPNames.USE_EXPECT_CONTINUE, Boolean.TRUE);
                  httpClient.getParams().setParameter(AllClientPNames.HTTP_CONTENT_CHARSET,"UTF_8");
                  httpClient.getParams().setParameter(AllClientPNames.CONN_MANAGER_TIMEOUT, 10000l);
                  httpClient.getParams().setParameter(AllClientPNames.CONNECTION_TIMEOUT, 2000);
                  httpClient.getParams().setParameter(AllClientPNames.SO_TIMEOUT, 10000);
            try {
             KeyStore trustStore = KeyStore.getInstance(KeyStore
               .getDefaultType());
             FileInputStream instream = new FileInputStream(new File(
               "D:/tomcat.keystore"));
             try {
              trustStore.load(instream, "longcode".toCharArray());
             } finally {
              try {
               instream.close();
              } catch (Exception ignore) {
              }
             }

             SSLSocketFactory socketFactory = new SSLSocketFactory(trustStore);
             Scheme sch = new Scheme("https", 1443, socketFactory);
             httpClient.getConnectionManager().getSchemeRegistry().register(sch);

             List<NameValuePair> nvps = new ArrayList<NameValuePair>();
             nvps.add(new BasicNameValuePair("userName", "abin"));
             nvps.add(new BasicNameValuePair("createTime", new SimpleDateFormat(
               "yyyy-MM-dd HH:mm:ss").format(new java.util.Date())));
             HttpResponse httpResponse = null;
             String result = "";
             try {
              httpPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
              httpResponse = httpClient.execute(httpPost);
              BufferedInputStream buffer = new BufferedInputStream(
                httpResponse.getEntity().getContent());
              byte[] bytes = new byte[1024];
              int line = 0;
              StringBuilder builder = new StringBuilder();
              while ((line = buffer.read(bytes)) != -1) {
               builder.append(new String(bytes, 0, line, "UTF-8"));
              }
              result = builder.toString();
             } catch (Exception e) {
              e.printStackTrace();
             } finally {
              if (httpPost.isAborted()) {
               httpPost.abort();
              }
              httpClient.getConnectionManager().shutdown();
             }
             System.out.println("result=" + result);

            } finally {
             // When HttpClient instance is no longer needed,
             // shut down the connection manager to ensure
             // immediate deallocation of all system resources
             httpClient.getConnectionManager().shutdown();
            }
           }
          }




          //在%TOMCAT_HOME%/conf/server.xml里面添加的內(nèi)容

          <Connector port="1443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" keystoreFile="D:/tomcat.keystore"
               keystorePass="longcode" sslProtocol="TLS" />





          //UnionPayDeal.java

          import java.io.BufferedReader;
          import java.io.IOException;
          import java.io.InputStreamReader;

          import javax.servlet.ServletConfig;
          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          /**
           *
           * @author Administrator
           *
           */
          public class UnionPayDeal extends HttpServlet {
           private static final long serialVersionUID = -1370581177759574628L;

           public void init(ServletConfig config) throws ServletException {
            super.init(config);
           }

           public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{
            System.out.println("接收到銀聯(lián)的異步通知");
            String accept=null;
            BufferedReader reader=new BufferedReader(new InputStreamReader(request.getInputStream()));
            int num=0;
            char[] buffer=new char[1024];
            while((num=reader.read(buffer))!=-1){
             accept=new String(buffer,0,num);
             System.out.println("accept="+accept);
            }
           }
           
           
           public void destroy() {
            super.destroy();
           }
          }


           

          主站蜘蛛池模板: 石家庄市| 石狮市| 五峰| 金乡县| 南宫市| 香河县| 上犹县| 安仁县| 称多县| 那曲县| 耒阳市| 商丘市| 六安市| 绍兴县| 临邑县| 南和县| 措美县| 赣州市| 阜新| 登封市| 建昌县| 嘉黎县| 白山市| 大理市| 休宁县| 甘洛县| 黎城县| 巩义市| 通渭县| 滁州市| 开封市| 东方市| 扎囊县| 定襄县| 莲花县| 金寨县| 巴彦淖尔市| 湄潭县| 荣昌县| 汝南县| 邵武市|