servlet_6

而Servelt的API它做的很好,你只要继承它的一个类,就等于你已经拿到数据了,你需要做的只是把数据的HTTP包给拆开,就行了,返回呢,提供了一个接口,但是一般都不直接用那个接口,都是封装的用,比如dispatch到一个静态页面或者jsp。是一个dispatch的接口,它应该是封装了上面的那个返回的接口。这样写一个Servelt就很简单了。
在给代码前,我还讲讲HTTP协议吧。(个人理解)协议是个什么玩意呢?它和规范有什么区别呢?这个本来是不需要关心的,但是大致的知道一下又何妨呢。协议是双方的,规范是全方位的,协议是必须遵循的,规范是倡议大家遵循的。协议是用来封和拆某个东西的,规范是用来指导大家编程的。大家知道,网络的数据传输的最底层是以二进制数据流的,那我双方要交互,要识别各自传达的信息,总不能是基于二进制数据流吧,于是用协议来封装数据流,大家可见的就是HTTP的数据包,这个数据包是用HTTP协议来对底层的数据流进行封装的。规范呢?更加的主观了,拿JDBC规范来说,哦,sun倡议大家在用java语言对数据库进行操作的时候尽量在JDBC的规范下编程。然而你完全的可以不在这个规范下,照样可以用java语言对数据库进行操作,就这么一回事。扩展一下鲁讯说的,世界上有很多java语言对数据操作的路,JDBC只是其中的一条,然后走JDBC的人多了,于是大家都走了。网络有一个很重要的性格是交流,为了交流,大家总是趋向于走相同的路,于是规范就慢慢的成为了标准了,无可厚非。

于是呢,HTTP协议你也不需要管了,你需要管的只是HTTP数据包是什么样的格式,因为你在Servlet里面拿到的就是一个HTTP数据包。你只要对它的格式了解就完全ok了,然后依据格式把相应的数据取出来用就ok了。

于是问题又变成了HTTP数据包的格式。这个不需要你来设计,你只要知道一下就ok了,整个问题就简单化了,说了APP的开发人员是幸福的,而且今后会逐渐的更加幸福。这个和soap的问题一样,大家可以去关注一下。

然而问题又来了,从浏览器的设计者角度来说,我总不能只是简单的给出一个button,然后说你准备好你的数据,然后点击一个这个button,就ok了。这样需求就来了,如果我想以不同的方式来传数据呢?这样就出来了两个词Get和Post,这两次词是在每一个Servlet都会有的。浏览器可以通过Get方法把数据包传过来,于是Servlet里面就有一个deGet的方法来处理这个数据包,浏览器可以通过Post方法把数据包传过来,于是Servlet里面就有一个doPost方法来处理数据包。只是这两个的逻辑是一样子的,数据包都是一样子的,都是HTTP协议下。之间的区别只是对数据包的封装不同,这里就不多少了,doGet和doPost这两个方法你都要写,而且逻辑是一样的,因为你Servelt也不知道客户端是通过Get还是Post把数据包传过来。

然后你想想,要你来设计一个HTTP数据包,你想应该包括什么东西呢?当然,我可以直接告诉你HTTP数据包是什么样子的,但是何不自己想想,要你来设计会设计成什么样子呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值