解决方案 »

  1.   

    request、response什么的都可以设置制定的编码格式的,你设置一下,还有你的文件右键属性设置一下编码格式,都统一了
      

  2.   

    是的 我都设置了 你说的request在哪里设置?   
     String accountNo = "6225123456789";
     String accountName = "王府井测试1";
     String accountCard = "2203811234567894";
     String bankAllName = "招商银行";
     String bankBranchName = "招商银行上地支行";
     String bankNumber = "141";
     String recDepType = "01";
     String accountProvince = "北京";
     String accountCity = "北京";
     String memo = "王府井测试备注";
     String busiTransNO = getUUID();
     String requestTime = DateTools.getDate("yyyy-MM-dd HH:mm:ss.SSS");
     String sign = MD5Utils.getMD5String(transCode + aliasAccount +
     channel
     + requestTime);我直接写死了public String httpsPost(String content) 
    {
    String responseMessage = "";
    BufferedReader bufferedReader = null;
    try {
    register();
    HttpPost httpPost = new HttpPost(httpsUrl);
    httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 60000);
    httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 30000);
                // 构造最简单的字符串数据    
                StringEntity reqEntity = new StringEntity(content);    
               // 设置类型    
                reqEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8");    
               // 设置请求的数据    
                httpPost.setEntity(reqEntity);  

    HttpResponse response = httpClient.execute(httpPost);
    HttpEntity entity = response.getEntity();
    if (entity != null) {
    bufferedReader = new BufferedReader(new InputStreamReader(
    entity.getContent()));
    StringBuffer stb = new StringBuffer();
    String line = null;
    while ((line = bufferedReader.readLine()) != null) {
    stb.append(line);
    }
    responseMessage = stb.toString();
    }
    EntityUtils.consume(entity);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    if (bufferedReader != null) {
    try {
    bufferedReader.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    httpClient.getConnectionManager().shutdown();
    }
    return responseMessage;
    }  这是 httpspost的代码
      

  3.   

    什么是存进去就乱码?存进哪里了?存了哪些字段值?“struts请求action”——这个我能理解成就是Http请求吗?
      

  4.   


    public static void createcustomer(RequestMessage rmsg) {
    System.out.println(rmsg);
    RequestMessage requestMessage = new RequestMessage();
    // CRB 创建账户
     String transCode = "CRB";
     String channel = "ch";
     String userNO = "ch";
     String password = "123456";
     
     String accountNo = rmsg.getAccountNo();
     String accountName = rmsg.getAccountName();
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");//可以方便地修改日期格式
     Date date = new Date();
     String hehe = dateFormat.format(date); 
     String aliasAccount = "changhw"+hehe;
     String bankAllName = rmsg.getBankAllName();
     String bankBranchName = rmsg.getBankBranchName();
     String recDepType = rmsg.getRecDepType();
     String accountProvince = rmsg.getAccountProvince();
     String accountCity = rmsg.getAccountCity();
     String busiTransNO = getUUID();
     String requestTime = DateTools.getDate("yyyy-MM-dd HH:mm:ss.SSS");
     String sign = MD5Utils.getMD5String(transCode + aliasAccount +
     channel
     + requestTime);
     requestMessage.setTransCode(transCode);
     requestMessage.setChannel(channel);
     requestMessage.setUserNO(userNO);
     requestMessage.setPassword(password);
     
     requestMessage.setAliasAccount(aliasAccount);
     requestMessage.setAccountNo(accountNo);
     requestMessage.setAccountName(accountName);
     requestMessage.setBankAllName(bankAllName);
     requestMessage.setBankBranchName(bankBranchName);
     requestMessage.setAccountProvince(accountProvince);
     requestMessage.setAccountCity(accountCity);
     requestMessage.setRecDepType(recDepType);
     requestMessage.setBusiTransNO(busiTransNO);
     requestMessage.setRequestTime(requestTime);
     requestMessage.setSign(sign);
     System.out.println(requestMessage);
    String content = JSON.toJSONString(requestMessage);
    System.out.println("明文内容为:" + content);
    String securityContent = HttpsAuthTools.encrypt(content);
    System.out.println("密文内容为:" + securityContent); wfjHttpsSend(securityContent);
    }这个方法 后台执行 通过main调用 就可以实现 
    但是通过 action 调用这个方法就不行了
      

  5.   


    public static void createcustomer(RequestMessage rmsg) {
    System.out.println(rmsg);
    RequestMessage requestMessage = new RequestMessage();
    // CRB 创建账户
     String transCode = "CRB";
     String channel = "ch";
     String userNO = "ch";
     String password = "123456";
     
     String accountNo = rmsg.getAccountNo();
     String accountName = rmsg.getAccountName();
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");//可以方便地修改日期格式
     Date date = new Date();
     String hehe = dateFormat.format(date); 
     String aliasAccount = "changhw"+hehe;
     String bankAllName = rmsg.getBankAllName();
     String bankBranchName = rmsg.getBankBranchName();
     String recDepType = rmsg.getRecDepType();
     String accountProvince = rmsg.getAccountProvince();
     String accountCity = rmsg.getAccountCity();
     String busiTransNO = getUUID();
     String requestTime = DateTools.getDate("yyyy-MM-dd HH:mm:ss.SSS");
     String sign = MD5Utils.getMD5String(transCode + aliasAccount +
     channel
     + requestTime);
     requestMessage.setTransCode(transCode);
     requestMessage.setChannel(channel);
     requestMessage.setUserNO(userNO);
     requestMessage.setPassword(password);
     
     requestMessage.setAliasAccount(aliasAccount);
     requestMessage.setAccountNo(accountNo);
     requestMessage.setAccountName(accountName);
     requestMessage.setBankAllName(bankAllName);
     requestMessage.setBankBranchName(bankBranchName);
     requestMessage.setAccountProvince(accountProvince);
     requestMessage.setAccountCity(accountCity);
     requestMessage.setRecDepType(recDepType);
     requestMessage.setBusiTransNO(busiTransNO);
     requestMessage.setRequestTime(requestTime);
     requestMessage.setSign(sign);
     System.out.println(requestMessage);
    String content = JSON.toJSONString(requestMessage);
    System.out.println("明文内容为:" + content);
    String securityContent = HttpsAuthTools.encrypt(content);
    System.out.println("密文内容为:" + securityContent); wfjHttpsSend(securityContent);
    }这个方法 后台执行 通过main调用 就可以实现 
    但是通过 action 调用这个方法就不行了哪一句代码打印乱码了?
      

  6.   


    public static void createcustomer(RequestMessage rmsg) {
    System.out.println(rmsg);
    RequestMessage requestMessage = new RequestMessage();
    // CRB 创建账户
     String transCode = "CRB";
     String channel = "ch";
     String userNO = "ch";
     String password = "123456";
     
     String accountNo = rmsg.getAccountNo();
     String accountName = rmsg.getAccountName();
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");//可以方便地修改日期格式
     Date date = new Date();
     String hehe = dateFormat.format(date); 
     String aliasAccount = "changhw"+hehe;
     String bankAllName = rmsg.getBankAllName();
     String bankBranchName = rmsg.getBankBranchName();
     String recDepType = rmsg.getRecDepType();
     String accountProvince = rmsg.getAccountProvince();
     String accountCity = rmsg.getAccountCity();
     String busiTransNO = getUUID();
     String requestTime = DateTools.getDate("yyyy-MM-dd HH:mm:ss.SSS");
     String sign = MD5Utils.getMD5String(transCode + aliasAccount +
     channel
     + requestTime);
     requestMessage.setTransCode(transCode);
     requestMessage.setChannel(channel);
     requestMessage.setUserNO(userNO);
     requestMessage.setPassword(password);
     
     requestMessage.setAliasAccount(aliasAccount);
     requestMessage.setAccountNo(accountNo);
     requestMessage.setAccountName(accountName);
     requestMessage.setBankAllName(bankAllName);
     requestMessage.setBankBranchName(bankBranchName);
     requestMessage.setAccountProvince(accountProvince);
     requestMessage.setAccountCity(accountCity);
     requestMessage.setRecDepType(recDepType);
     requestMessage.setBusiTransNO(busiTransNO);
     requestMessage.setRequestTime(requestTime);
     requestMessage.setSign(sign);
     System.out.println(requestMessage);
    String content = JSON.toJSONString(requestMessage);
    System.out.println("明文内容为:" + content);
    String securityContent = HttpsAuthTools.encrypt(content);
    System.out.println("密文内容为:" + securityContent); wfjHttpsSend(securityContent);
    }这个方法 后台执行 通过main调用 就可以实现 
    但是通过 action 调用这个方法就不行了哪一句代码打印乱码了?我这是掉人家的接口 人家那边存的是乱码!
      

  7.   


    public static void createcustomer(RequestMessage rmsg) {
    System.out.println(rmsg);
    RequestMessage requestMessage = new RequestMessage();
    // CRB 创建账户
     String transCode = "CRB";
     String channel = "ch";
     String userNO = "ch";
     String password = "123456";
     
     String accountNo = rmsg.getAccountNo();
     String accountName = rmsg.getAccountName();
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");//可以方便地修改日期格式
     Date date = new Date();
     String hehe = dateFormat.format(date); 
     String aliasAccount = "changhw"+hehe;
     String bankAllName = rmsg.getBankAllName();
     String bankBranchName = rmsg.getBankBranchName();
     String recDepType = rmsg.getRecDepType();
     String accountProvince = rmsg.getAccountProvince();
     String accountCity = rmsg.getAccountCity();
     String busiTransNO = getUUID();
     String requestTime = DateTools.getDate("yyyy-MM-dd HH:mm:ss.SSS");
     String sign = MD5Utils.getMD5String(transCode + aliasAccount +
     channel
     + requestTime);
     requestMessage.setTransCode(transCode);
     requestMessage.setChannel(channel);
     requestMessage.setUserNO(userNO);
     requestMessage.setPassword(password);
     
     requestMessage.setAliasAccount(aliasAccount);
     requestMessage.setAccountNo(accountNo);
     requestMessage.setAccountName(accountName);
     requestMessage.setBankAllName(bankAllName);
     requestMessage.setBankBranchName(bankBranchName);
     requestMessage.setAccountProvince(accountProvince);
     requestMessage.setAccountCity(accountCity);
     requestMessage.setRecDepType(recDepType);
     requestMessage.setBusiTransNO(busiTransNO);
     requestMessage.setRequestTime(requestTime);
     requestMessage.setSign(sign);
     System.out.println(requestMessage);
    String content = JSON.toJSONString(requestMessage);
    System.out.println("明文内容为:" + content);
    String securityContent = HttpsAuthTools.encrypt(content);
    System.out.println("密文内容为:" + securityContent); wfjHttpsSend(securityContent);
    }这个方法 后台执行 通过main调用 就可以实现 
    但是通过 action 调用这个方法就不行了哪一句代码打印乱码了?我这是掉人家的接口 人家那边存的是乱码!
    接口是wfjHttpsSend(securityContent);?