1.什么是servlet?
(1)API:有一个接口Servlet,它是Servlet规范中定义的用来处理客户端请求的程序需要实现的顶级接口;
(2)组件:服务器端用来处理客户端请求的组件,需要在web.xml请求中配置;
2.Servlet的生命周期?
Serlvet生命周期分为三个阶段:
(1)初始化阶段 调用init()方法;
(2)响应客户端请求阶段 调用service()方法–>doGet/doPost() ;
(3)终止阶段 调用destory()方法;
3.请求的转发与重定向的区别?
(1)地址栏:
转发:显示的是请求的URL;
重定向:显示的不是请求的URL,而是重定向指向的新的URL;
(2)浏览器发了几次请求?
转发:1次请求;
重定向:2次请求;
(3)是否可以进行Request的数据共享?
转发:两个资源之间是同一个request对象,可以共享request中的数据;
重定向:两个资源之间不是同一个request对象,不可以共享;
4.HTTP请求的GET与POST方式的区别?
(1)携带请求参数的方式:
GET:通过请求行携带参数,参数会显示在地址栏;
POST:通过请求体来携带参数,参数不会显示在地址栏;
(2)服务器端处理请求的方法:
GET:会调用Servlet的doGet()来处理请求;
POST:会调用Servlet的doPost()来处理请求;
(3)数据大小与安全性:
GET:大小有限制(小于2k),不安全;
POST:大小没有限制,安全;
5.比较Servlet与Filter?
Filter是一种特别的Servlet,它们的作用是完全不一样的。Servlet是用来处理请求的,而Filter是用来过滤检查的。