C#端代碼:
String contents = this.projectTypeNameTB.Text + "," + this.describeTB.Text;
//請求
string uri = "http://192.168.1.149:8080/zdys/TestServlte";//?action=" + HttpUtility.UrlEncode(testString);
HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest;
request.Method = "post";//請求方法
request.ProtocolVersion = new Version(1, 1);
// string param = "這是傳送給java端的內容:Hello java!";
string param = contents;
byte[] bs = Encoding.UTF8.GetBytes(param);
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
reqStream.Close();
}
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream);
string responseString = reader.ReadToEnd();
reader.Close();
MessageBox.Show(responseString);
}
java端代碼:
/**
* doPost(運用servlet連接elasticsearch')
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
//使用post方法
request.setCharacterEncoding("UTF-8");//設置字符編碼
response.setContentType("text/html;charset=utf-8");
//獲取流的同時設置編碼格式為utf-8(雖然上面已經設置了,但是這邊還是要再設一次)
BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
String lines = reader.readLine();//獲取C#端傳輸過來的數據為
System.out.println("C#端傳輸過來的數據為:"+lines);//lines = new String(lines.getBytes(), "utf-8");
reader.close();//關閉連接
AddIndexContentServiceImpl aicsi = new AddIndexContentServiceImpl();//new一個添加索引內容接口的實現類
ProjectTypeEntity pte = new ProjectTypeEntity(); //new一個添加索引內容對象的實現類(要和C#端所需數據相對應)
String[] array= StringTools.splitString(lines, 2);//自定義分割傳來的字符串獲取自己需要的格式
pte.setProjectType(array[0]);
pte.setDescrible(array[1]);
System.out.println(pte.getDescrible()+pte.getProjectType());
String addContent = JsonFieldDataTools.getProjectTypeFieldData(pte);//調用相應的方法拼裝字符串
boolean flag=aicsi.addProjectTypeContent("zhongdi", "projectType", addContent);//執行相應的添加索引內容的方法
if(flag){
System.out.println("添加成功");
}
//直接轉換為系統默認編碼下對應的字符,再輸出
PrintWriter out = response.getWriter();
out.println("這是返回給C#端的信息:Hello C#!");
out.flush();
out.close();
//String searchContent = URLDecoder.decode(request.getParameter("action"),"UTF-8");
//ESTools.createIndex(index, indexType);//創建索引和mapping
ESTools.close();
System.out.println("執行完畢");
//response.sendRedirect("zdys/esControl.jsp");
}