http selevt response 返回乱码问题,求大神解决。

a454315405 2016-07-04 04:27:12
代码如下

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;


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


public class gerenrzServlet extends HttpServlet {

/**
* Constructor of the object.
*/
public gerenrzServlet() {
super();
}

/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}

/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}

/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/

/*

静态方法里面输出的不是乱码
*/


public static void main(String[] args) throws Exception {

String json = doPosta("HA", "7CEF18AA2064A29AD8203E56AEB11D4E", 0, "7150020160000824", "0001", "20160602", "20160630", 1, 20);
System.out.println(json);

}


public static String doPosta(String OrigDomain, String Token,Integer RequestType,String CardNo,String AcctType,String BeginDate,String EndDate,Integer PageNum,Integer PageSize) throws Exception {
//public static String doPost(String OrigDomain, String Token,String CardNo,String CustName,String MobileNo,String PaperNo,boolean IsValidMobileNo) throws Exception {

// String parameterData = "{\"OrigDomain\":" + OrigDomain + ",\"Token\":"+Token+",\"CardNo\":"+CardNo+",\"CustName\":"+CustName+",\"MobileNo\":"+MobileNo+",\"PaperNo\":"+PaperNo+",\"IsValidMobileNo\":"+IsValidMobileNo+"}";
//11String parameterData = "{\"OrigDomain\":\"" + OrigDomain + "\",\"Token\":\""+Token+"\",\"CardNo\":\""+CardNo+"\",\"CustName\":\""+CustName+"\",\"MobileNo\":\""+MobileNo+"\",\"PaperNo\":\""+PaperNo+"\",\"IsValidMobileNo\":\""+IsValidMobileNo+"\"}";
String parameterData = "{\"OrigDomain\":\"" + OrigDomain + "\",\"Token\":\""+Token+"\",\"RequestType\":\""+ RequestType+"\",\"CardNo\":\"" + CardNo+"\",\"AcctType\":\"" +AcctType+"\",\"BeginDate\":\"" +BeginDate+"\",\"EndDate\":\""+EndDate+"\",\"PageNum\":\""+PageNum+"\",\"PageSize\":\""+PageSize+"\"}";
//String parameterData ="{\"OrigDomain\":\"+OrigDomain+\",\"Token\":\"+Token+\",\"CardNo\":\"+CardNo+\",\"CustName\":\"+CustName+\",\"MobileNo\":\"+MobileNo+\",\"PaperNo\":\"+PaperNo+\",\"IsValidMobileNo\":\"+IsValidMobileNo+\"}";
//String parameterData ="{\"OrigDomain\":\"OrigDomain\",\"Token":\"Token\",\"CardNo\":\"CardNo\",\"CustName\":\"CustName\",\"MobileNo\":\"MobileNo\",\"PaperNo\":\"PaperNo\",\"IsValidMobileNo\":\"IsValidMobileNo\"}";
//String parameterData = {"OrigDomain":OrigDomain,"Token":Token,"CardNo":CardNo",CustName":CustName,"MobileNo":MobileNo,"PaperNo":PaperNo,"IsValidMobileNo":IsValidMobileNo}
//String parameterData = "OrigDomain="+OrigDomain+"&Token="+Token+"CardNo="+CardNo+"&CustName="+CustName+"MobileNo="+MobileNo+"&PaperNo="+PaperNo+"IsValidMobileNo="+IsValidMobileNo;
//String parameterData = "OrigDomain="+OrigDomain+"&Token="+Token+"&RequestType="+RequestType+"&CardNo="+CardNo+"&AcctType="+AcctType+"&BeginDate="+BeginDate+"&EndDate="+EndDate+"&PageNum="+PageNum+"&PageSize="+PageSize;
//String parameterData = "{\"OrigDomain\":" + OrigDomain + ",\"Token\":"+Token+",\"CardNo\":"+CardNo+",\"CustName\":"+CustName+",\"MobileNo\":"+MobileNo+",\"PaperNo\":"+PaperNo+",\"IsValidMobileNo\":"+IsValidMobileNo+"}";
//URL localURL = new URL("http://10.0.4.107:5500/v1/iccard/ValidUser?format=json");
// URL localURL = new URL("http://10.0.4.107:5500/v1/account/AccBookQuery");
URL localURL = new URL("http://10.0.4.107:5500/v1/account/AccBookQuery?format=json");
URLConnection connection = localURL.openConnection();
HttpURLConnection httpurlconnection = (HttpURLConnection)connection;
httpurlconnection.setDoOutput(true);
httpurlconnection.setRequestMethod("POST");
httpurlconnection.setRequestProperty("Accept-Charset", "utf-8");
httpurlconnection.setRequestProperty("content-type", "application/json");
httpurlconnection.setRequestProperty("Content-Length", String.valueOf(parameterData.length()));

OutputStream outputStream = null;
OutputStreamWriter outputStreamWriter = null;
InputStream inputStream = null;
InputStreamReader inputStreamReader = null;
BufferedReader reader = null;
StringBuffer resultBuffer = new StringBuffer();
String tempLine = null;


try {
outputStream = httpurlconnection.getOutputStream();
outputStreamWriter = new OutputStreamWriter(outputStream);

outputStreamWriter.write(parameterData.toString());
outputStreamWriter.flush();

if (httpurlconnection.getResponseCode() >= 300) {
throw new Exception("HTTP Request is not success, Response code is " + httpurlconnection.getResponseCode());
}

inputStream = httpurlconnection.getInputStream();
inputStreamReader = new InputStreamReader(inputStream);
reader = new BufferedReader(inputStreamReader);

while ((tempLine = reader.readLine()) != null) {
resultBuffer.append(tempLine);


}

} finally {

if (outputStreamWriter != null) {
outputStreamWriter.close();
}

if (outputStream != null) {
outputStream.close();
}

if (reader != null) {
reader.close();
}

if (inputStreamReader != null) {
inputStreamReader.close();
}

if (inputStream != null) {
inputStream.close();
}

}

return resultBuffer.toString();
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//response.setContentType("application/json;charset=utf-8");
//response.setContentType("text/json");
/* response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
response.setHeader("contentType", "text/html; charset=utf-8");
response.setCharacterEncoding("utf-8");*/

response.setContentType("text/json");
response.setCharacterEncoding("UTF-8");
String CardNo = request.getParameter("iccardNo");
String OrigDomain="HA";
String Token="7CEF18AA2064A29AD8203E56AEB11D4E";
Integer RequestType =0;
String AcctType ="0001";
String BeginDate="20160602";
String EndDate ="20160630";
Integer PageNum = 1;
Integer PageSize =20;
PrintWriter out = response.getWriter();
try {
String aaa=doPosta(OrigDomain, Token, RequestType, CardNo, AcctType, BeginDate, EndDate, PageNum, PageSize);
System.out.println(aaa);
} catch (Exception e) {
e.printStackTrace();
}finally{
out.flush();
out.close();
}

}


/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}

}

静态方法里面输出的不是乱码
在selevt里面就是乱码 不知道怎么回事

...全文
91 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧