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端的内容: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");

}

时间: 2024-11-08 23:24:30

java项目和C#项目实现通信的相关文章

Java笔记---部署 JavaWeb 项目到云服务器

一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在主菜就要上场了,那就是将我们的 JavaWeb 项目部署到云服务器上.兴奋吧?淡定淡定~ 二.项目部署 我们对于 Java Web 项目在本地机器(无论是 Windows 还是 Linux)上的部署已经了然于心了,那么对于在云服务器上部署 Java Web 项目又是如何操作的呢? 其实很简单,还是离不开 Web 项目部署的那三点: ① 基础的 JDK 环境 ② 一个 Web 服务器.如 Tomcat.JBoss ③ 一款数据库.如:m

java枚举在android项目应用

今天修复一个公司很早以前的android应用功能,里面的代码逻辑已经完全错乱,然后发现返回的数据完全不对了.然后修复了整整两天.然后我重新整理了一遍,重构就算不上了.然后就用上了枚举. 什么是枚举?我以前也不懂,当时我看见公司的项目中使用了枚举当做项目一个控制,比如修改已经写好的app然后为一些手机厂商做定制版.可能要去掉广告,还有跳转到商店url都不同,特别是国内基本都没有google play.我们为了避免以后的修改,就会写个枚举来控制它. public enum Market { Defa

eclipse中 将java项目转换为web项目

1.找到项目工作空间目录,打开.project文件,并修改文件, 修改如下: 找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <

java web 手动部署项目步骤

java Web 手动部署项目步骤 1 在tomcat下面的webapps下面建立需要部署的文件夹(eg:demo);2 在demo下建立 WEB-INF WETA-INF src 文件夹;3 在src下建立新的servlet.java文件4 在WEB-INF下面建立classes和web.xml文件 5通过命令“javac -d 目录地址 文件名” 编译servlet,前提是必须把tomcat目录下的lib里面的servlet-api.jar拷贝到当前的servlet源文件目录下. 在配置环境

Java转iOS-第一个项目总结(2):遇到问题和解决方案

目录1.UITableView滑动卡顿的优化 2.右滑手势返回 3.添加页面统计 4.debug版和release版 5.关于页面刷新 6.关于页面布局 7.推荐博客 遇到问题和解决方案 本文是Java转iOS-第一个项目总结(1)?的内容补充,分析遇到的一些问题和解决方案,分享一些收获. 1.UITableView滑动卡顿的优化 因为 `UITableView`的cell中有很多图片,在4/4s上滑动比较卡,最开始觉得是机器太老了,但是对比微信和QQ空间,发现还是我们的问题,所以后期进行了优化

&lt;转&gt;Java转iOS-第一个项目总结(2):遇到问题和解决方案

目录1.UITableView滑动卡顿的优化 2.右滑手势返回 3.添加页面统计 4.debug版和release版 5.关于页面刷新 6.关于页面布局 7.推荐博客 遇到问题和解决方案 本文是Java转iOS-第一个项目总结(1)?的内容补充,分析遇到的一些问题和解决方案,分享一些收获. 1.UITableView滑动卡顿的优化 因为 `UITableView`的cell中有很多图片,在4/4s上滑动比较卡,最开始觉得是机器太老了,但是对比微信和QQ空间,发现还是我们的问题,所以后期进行了优化

Java开源电商项目比較

这里比較的都是国外的开源项目,备选项目有: Smilehouse Workspace.Pulse.Shopizer.ofbiz.bigfish.broadleaf 1.Smilehouse Workspace 是一个採用 Java 开发的电子商务应用程序.用来做产品.定案和客户信息管理.(从官网看,更像是一个管理系统) 2.Pulse没有使用spring,使用了hibernate,不清楚V端用了什么,使用的开源列表例如以下 http://pulse.torweg.org/site/Pulsar/

maven创建Java项目和web项目

创建Java项目 C:\Users\Administrator\Desktop>mvn archetype:generate -DgroupId=yxyu.xx -Dartifa ctId=xx1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=fals e 创建web项目 C:\Users\Administrator\Desktop>mvn archetype:generate -DgroupId=yxyu

10.Hello World 的 Java 项目创建和项目配置文件讲解

Hello World 项目创建与项目配置文件介绍 Hello World 项目创建 如上图标注 1 所示,点击 Create New Project 进入向导式创建项目 如上图标注 1 所示,如果此时 IntelliJ IDEA 还没有配置任何一个 SDK 的话,可以点击 New... 先进行 SDK 的配置. 如上图标注 2 所示,配置好 SDK 或选择好 SDK 之后,点击 Next 进入下一步. 如上图标注 1 所示,可以选择模板快速创建项目. Command Line App 会自动创

Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式百度云实战分享

muke慕课实战课程分享QQ313675301 新增课程: Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式百度云实战分享 后端开发: 1.高级java软件架构师实战培训视频教程2.大型SpringMVC,Mybatis,Redis,Solr,Nginx,SSM分布式电商项目视频教程3.Spark Streaming实时流处理项目实战4.Java校招面试 Google面试官亲授5.Java开发企业级权限管理系统6.Java大牛 带你从0到上线开发企业级电商项目7.Java