Servlet生命周期解析第一弹「JavaWeb工程师必读」

前言

Servlet(Server Applet)是JavaServlet的简称,主要功能是交互式浏览和数据修改,生成动态Web内容。Servlet运行于支持Java的应用服务器中,Servlet可以响应任何类型的请求,但通常情况下只用来拓展基于HTTP协议的Web服务器。【摘自百度百科】。

这篇文章之中我们只讲解常用的基于HTTP协议HttpServlet请求。

应用结构解析

HttpServlet类实现了Servlet接口的Service方法并要求调用doGet()或doPost()方法之一。当客户端发出Http请求时,Servlet调用service()方法并且传递一个请求和响应对象,然后由Servlet判断该请求是get操作还是post操作,然后调用以下两种方法。doGet()方法和doPost()方法都接受(HttpServletRequest))和响应对象(HttpServletResponse).

doGet():

用于处理GET请求。doGet()在请求过程中只产生一个流,参数附加在url之后,参数大小和个数都有严格的限制,并且只接受字符串类型的数据。get请求的的所有参数都显示展现的,因此不是更加安全,通常只用于数据的请求。

doPost():

处理POST请求。doPost()在请求过程中会产生两个流,参数不附加在url之后,是通过另外一个流传递的。因此post请求传递的数据可以很大并且还可以传递二进制的数据,如文件上传等。post请求的参数是隐藏的,因此相对安全一点,在做密码传送或者数据更改的请求时通常使用此方法。


doService():

在以上两个方法调用之前还有一个doService()方法。当一个请求发生时,不管是get()方法还是post()方法都首先执行doService()方法,因此可以直接过载doService()方法。

方法定义

service()方法是在javax.servlet.Servlet接口中定义的,在javax.servlet.GenericServlet中实现。

doGet()和doPost()方法是在javax.servlet.http.HttpServlet中实现的,javax.servlet.http.HttpServlet是 javax.servlet.GenericServlet 的子类。

因此从这个结构上也解释了上面所说的:所有请求都需要经过service()方法,service()的作用就是判断该请求是get类型的还是post类型的,然后调用对应的doGet()|doPost()。

结语

这篇文章只对http请求过程的调用做简单解析,下一篇文章我们会对servlet的数据发送和接受以及生命周期做解析,请大家关注本头条号持续查看。各位客官和粉丝如果有其他的问题需要解答请在留言板回复,我会做相应解析。如果问题过于复杂我会专门写一篇文章做解读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值