java readtoend_java项目和C#项目实现通信
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端的內(nèi)容: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");//設(shè)置字符編碼
response.setContentType("text/html;charset=utf-8");
//獲取流的同時設(shè)置編碼格式為utf-8(雖然上面已經(jīng)設(shè)置了,但是這邊還是要再設(shè)一次)
BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
String lines = reader.readLine();//獲取C#端傳輸過來的數(shù)據(jù)為
System.out.println("C#端傳輸過來的數(shù)據(jù)為:"+lines);//lines = new String(lines.getBytes(), "utf-8");
reader.close();//關(guān)閉連接
AddIndexContentServiceImpl aicsi = new AddIndexContentServiceImpl();//new一個添加索引內(nèi)容接口的實現(xiàn)類
ProjectTypeEntity pte = new ProjectTypeEntity(); //new一個添加索引內(nèi)容對象的實現(xiàn)類(要和C#端所需數(shù)據(jù)相對應(yīng))
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);//調(diào)用相應(yīng)的方法拼裝字符串
boolean flag=aicsi.addProjectTypeContent("zhongdi", "projectType", addContent);//執(zhí)行相應(yīng)的添加索引內(nèi)容的方法
if(flag){
System.out.println("添加成功");
}
//直接轉(zhuǎn)換為系統(tǒng)默認編碼下對應(yīng)的字符,再輸出
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);//創(chuàng)建索引和mapping
ESTools.close();
System.out.println("執(zhí)行完畢");
//response.sendRedirect("zdys/esControl.jsp");
}
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的java readtoend_java项目和C#项目实现通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java new url 带密码_获取密
- 下一篇: swift golang java,解决