Http协议对于java和asp.net的异同

19 篇文章 0 订阅
8 篇文章 0 订阅

做过asp.net的人都知道,在服务器端接受数据时会用到request这个对象,如果是get的方式提交则会用request.QueryString来获取,如果是post表单提交则用request.form,对于request、request.QueryString、request.form以及request.headers等获取数据的方式的区别网上很多,这里就不讲了。

由于一个android项目,要向服务器端上传文件,一般做法就是用httpurlconnnction对象或者httpclient来做不难,网上的例子也一大堆,但是由于项目框架的原因,所有的http请求都是用的httpclient,这是因为httpclient对httpurlconnection的封装比较全面,但是服务器端是asp.net来做的,由于服务器端的接口已经使用了好久,而且公司之前的android项目上传文件都是用的httpurlconnection来上传的,而且只能上传一个文件。对此,我查看了httpclient api,在httpcommon中可以使用multipartentity可以实现模拟html表单提交的功能,能同时提交数据和文件,但是multipartenttity是放在body里的,而asp.net的request.inputstream是获取body里面的所有数据流,这就带来一个问题,除非服务器端的代码对inputstream再次进行解析,将表单数据和文件分开来,而之间的接口是用request.queryString的方式获取的表单数据,request.inputstream的方式来获取的file文件流,也就是之前表单数据是放在url里传过来的,body里只有一个file文件。

知道了request.inputstream到底获取的是什么内容后,那就好办了,httpclient是非常强大的,为了和asp.net的代码对接,只能将表单参数放到url中,但是问题又来了,在url后面拼接参数也就是?param1=value,new HttpPost(urlString)创建httppost对象时报错,看了一下错误提示,意思是有非法字符,之后将每个参数都进行了url编码


这样就可以通过了,过程中还有一个异常是由于jar包不兼容导致的,httpmine.jar和httpcore.jar的版本要匹配不然会在execute时报异常。


说了这么多其实只是为了说明http的协议格式在开发语言java与c#对应的使用方式的异同。协议肯定都是一样的,解析方式也是一样的,只是每个语言定义的类的形式不一样而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ASP.NETJava Web的异同点如下: 异同点: 1. 两者都是用于开发Web应用程序的技术。 2. ASP.NET是由微软公司开发的,而Java Web是由Sun Microsystems(现在是Oracle)开发的。 3. ASP.NET使用C#或VB.NET等语言进行编程,而Java Web使用Java语言进行编程。 4. ASP.NET使用IIS(Internet Information Services)作为Web服务器,而Java Web使用Tomcat或其他Java Web服务器。 5. ASP.NET使用ASP.NET MVC框架进行开发,而Java Web使用Spring MVC框架进行开发。 6. ASP.NET使用ASP.NET Web Forms进行开发,而Java Web使用JavaServer Faces(JSF)进行开发。 7. ASP.NET的开发工具是Visual Studio,而Java Web的开发工具是Eclipse或NetBeans等。 8. ASP.NET的性能比Java Web更好,但Java Web的跨平台性更好。 9. ASP.NET的学习曲线较陡峭,而Java Web的学习曲线相对较平缓。 10. ASP.NET的开发成本较高,而Java Web的开发成本相对较低。 总之,ASP.NETJava Web都有各自的优缺点,开发者可以根据项目需求和自身技术水平选择适合自己的技术。 ### 回答2: ASP.NETJava Web都是常见的Web开发技术,它们有很多相似之处,也有很多不同的地方。 首先,相似之处: 1. 都是基于服务器端的Web开发技术; 2. 都可以实现动态网站,支持集成数据库; 3. 都有丰富的第三方工具和库,可以帮助快速开发,提高开发效率; 4. 都支持多种模式的Web应用程序,包括MVC、Web Forms等。 接下来,我们来看看它们的不同之处: 1. 语言不同:ASP.NET主要使用C#或VB.NET开发,而Java Web则使用Java语言开发; 2. 平台不同:ASP.NET是微软的技术,只能运行在Windows平台,而Java Web则是跨平台的技术,可以运行在各种操作系统上; 3. 框架不同:ASP.NET有自己的框架,如.NET Framework、ASP.NET Core等,而Java Web有Tomcat、Spring、Struts等开发框架; 4. 性能不同:由于ASP.NET使用的是微软的技术,所以在运行速度和性能上可能会比Java Web慢一些,但这也有很多因素影响,如服务器的配置等; 5. 学习成本不同:由于ASP.NET是微软的技术,比较单一,所以对于已经掌握C#或VB.NET的开发者来说,学习成本比Java Web要低一些;而Java Web学习成本较高,因为需要掌握Java语言本身和一些常用的框架。 总的来说,ASP.NETJava Web各有优缺点。选择哪种技术要根据具体的开发需求和开发人员的技能水平来进行考虑。 ### 回答3: ASP.NETJava Web是两种常见的Web应用程序开发框架。虽然它们目的都是为了创建动态Web应用程序,但是它们具有一些显著的异同。 1. 语言选择:ASP.NET特别为C#和VB.NET编写,Java Web则是为Java语言设计的。 2. 平台:ASP.NET只能在Windows操作系统中使用;Java Web不仅局限于Windows操作系统,而且可以在Linux等其他操作系统上使用。 3. 应用程序类型:ASP.NET适用于创建较小的Web应用程序,而Java Web适用于大型企业应用系统。 4. 应用程序的安全性:Java Web的安全性较高,它具有强大的安全性功能,如框架的安全API和强大的用户身份验证机制,ASP.NET也提供安全功能,但Java相对而言更加强大。 5. 性能:Java Web通常具有更好的性能,因为它可以利用Java虚拟机和垃圾回收机制的优势提高应用程序性能。 6. 对象模型:Java使用标准对象模型,ASP.NET则使用服务器控件模型。 7. 数据库的访问:Java Web使用Java Persistence API中的Hibernate进行对象和关系映射,而ASP.NET使用自己的提供程序和实体框架。 总的来说,ASP.NETJava Web根据应用程序的需要,选择一个开发框架更加合适,因此,需要开发人员仔细考虑选项,以确保选择最适合其需要的框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值