细说Servlet 什么是Servlet以及Servlet的三种开发方式

 

什么是Servlet:用java编写的服务器程序

 

Servlet介绍:1.Servlet其实就是java程序(java类)

                         2.该java程序(java类)要遵循Servlet开发规范

                        3.Servlet运行在服务器端

                        4.功能强大

 

Tomcat的三个功能:1.web服务器     2.jsp容器      3.Servlet容器

 

 

 

Servlet在web应用中的位置如图所示,位于classes文件夹中:

 

 

Servlet的三种开发方式:

a.实现Servlet接口

b.继承GenericServlet

c.继承HttpServlet

 

 

首先介绍第一种实现Servlet接口开发,这种是最早的开发方式,现在已经不再使用,但是能帮助我们很好地理解Servlet的生命周期

Servlet开发要实现Servlet接口的五个方法:

 

 

补充:Servlet是线程不安全的,类似于单例模式,多台机器共用一个Servlet。

面试题:请简述Servlet的生命周期(工作流程)

 

答:1.当Servlet第一次被启动时,会触发init()函数,该函数会把Servlet实例装载到内存(注意:init()函数只会被调用一次)

         2.然后去调用Servlet的service()函数。

        3.当第二次访问该Servlet,就直接调用service函数,因为Servlet的init()函数只会被调用一次。

        4.当web应用reload或者关闭tomcat或者关机都会去调用destroy()函数,该函数就会销毁Servlet,生命周期到此结束。

 

 

 

销毁Servlet的三种情况:

        a.reload  web应用

        b.重新启动电脑或者关闭tomcat

        c.重启电脑

 

 

第二种开发方式:继承GenericServlet开发,只需重写一个服务方法service();

 

 

第三种开发方式:继承HttpServlet开发,当前主流

介绍:HttpServlet指能够处理Http请求的Servlet,在原有Servlet接口上添加了一些Http协议处理方法,比Servlet接口的功能更加强大,因此编写Servlet时通常应继承这个类,避免去直接实现Servlet接口

 

HttpServlet在实现Servlet接口时覆写了Service方法,该方法体内的代码会自动判断用户的请求方式,get请求调用doGet()方法,post请求调用doPost()方法,编写Servlet时通常只需覆写doGet()或者doPost()方法,而不需要去覆写service()方法。

 

细节:doGet()和doPost()最终都调用了Servlet接口的Service方法,这两个方法是Service的一种封装。

 

get提交和post提交的区别:

1.从安全性上看:post高,因为get提交的数据会在浏览器的地址栏上显示。

2.从提交的内容大小看:get<post,get提交的数据不能大于2k,而post提交的数据理论上不受限制,实际编程建议不要大于64k。

3.从请求相应速度看:get>post,get要求服务器立即处理请求,而post请求可能形成一个队列请求。

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值