java一个类 继承HttpServlet 和实现Servlet区别 有点晕了 懂的详细的讲一下谢谢

实现servlet必须实现5个方法包括3生命周期,而继承HttpServlet需要实现doGet和doPost方法那不用实现3生命周期了吗?... 实现servlet 必须实现5个方法包括3生命周期,而继承HttpServlet需要实现doGet和doPost方法 那不用实现3生命周期了吗? 展开
 我来答
puziguo
推荐于2017-09-16 · TA获得超过1928个赞
知道小有建树答主
回答量:884
采纳率:86%
帮助的人:800万
展开全部
servlet 是一个接口,如果实现这个接口,那么就必须实现接口里面定义的所有方法

而HttpServlet实现了servlet接口,并把servlet接口中的方法实现了
继承Httpservelt实际上也就实现了servlet接口,但是我们没必要再去实现servlet中定义的生命周期方法,因为在httpservlet中已经有了默认实现,并且这些默认实现也挺规范和实用
doget和dopost是执行用户请求的终点,也就是是,安装servlet的常规,get请求会调用doget方法,post请求会执行dopost方法。所以我们可以再这2个方法中定义我们自己的业务逻辑
追问
那 get请求和post 请求会不会同时存在? 

为什么我见过dopost 和doget 嵌套调用的时候? 这是什么情况?
追答
可以同时存在,但是get请求只会去找doget方法
post请求只会去找dopost方法

而在实际编码过程中,我们不想吧同一业务逻辑代码写在2个方法中

解决办法就是把业务逻辑代码写个某个方法中,另外一个方法跳转到逻辑方法中
比如我们:
doget(*****){
******************;//代码1

}
dopost(*****){
doget(**); //跳转到doget方法中去
}

这样不管你是get请求还是post请求,都会去执行代码1哪里的业务逻辑代码
破刀一把走天涯
2013-05-04 · TA获得超过896个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:260万
展开全部
Servlet是一个接口,本身定义的是一种网络服务,HttpServlet是已经实现了Servlet接口,也就是此类是针对Http协议的,虽然Servlet接口下只有HttpServlet类,可能会觉得何必定义一个Servlet接口,直接一个HttpServlet就可以了,我想这可能是sun为后续技术发展做的一个接口,目前仅Http协议,今后可能会发展出其他协议,因此,再有新的协议出现的时候,直接实现Servlet接口即可。
实现一个接口(servlet)必须覆写接口所有方法,继承一个类可以有选择的覆写需要的方法,
HttpServlet在实现Servlet接口的时候,已经实现了servlet中所有方法,因此继承自HttpSrvlet的类,不需要再去覆写相应的生命周期等方法
追问
那代码到底是写在doget 里面还是写在 dopost 里面 这个怎么区分?
追答
要看用户的请求路径?html中的form不是有个method属性么,有get跟post两种,get是一种路径拼凑形式的,post不会显示路径,一般情况下doget跟dopost随意写一个就可以,若果写了doget则,dopost方法调用doget方法,this.doGet(),若果写了dopost方法,则在doget方法中调用dopost,this.doPost()一般都这样写吧,也就是两个方法处理形式是等同的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yujmh
2013-05-04 · TA获得超过772个赞
知道小有建树答主
回答量:427
采纳率:33%
帮助的人:318万
展开全部
HttpServlet遵循HTTP协议,因此继承HttpServlet的类也就遵循HTTP协议,一般用在B/S
架构中。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式