Servlet相关技术路线(蓝线)
此部分包括: Servlet。 Filter。 Listener和HTTP协议
1.1. 解释一下什么是servlet?
答: 我们可以从下面二个方面去看Servlet:
API: 有一个接口Servlet。 它是Servlet规范中定义的用来处理客户端请求的程序需要实现的顶级接口组件: 服务器端用来处理客户端请求的组件。 需要在xml请求中配置
1.2. 说一说Servlet的生命周期?
答: Servlet生命周期分为三个阶段:
1。初始化阶段 调用init()方法
2。响应客户请求阶段 调用service()方法-àdoGet/doPost()
3。终止阶段 调用destroy()方法
1.3. 区别请求的转发与重定向?
答: 可以从以下三个方面进行比较
1.地址栏:
转发: 显示的是请求的URL
重定向: 显示的不是请求的URL。 而是重定向指向的新的URL
2.浏览器发了几次请求?
转发: 1次请求
重定向: 2次请求
是否可以进行Request的数据共享?
转发: 两个资源之间是同一个request对象。 可以共享request中的数据
重定向: 两个资源之间不是同一个request对象。 不可以共享
经典现实案例:
1.1. HTTP请求的GET与POST方式的区别
答: 可以从以下几个方面去回答:
携带请求参数的方式
GET: 通过请求行携带参数。 参数会显示在地址栏
POST: 通过请求体来携带参数。 参数不会显示在地址栏
服务器端处理请求的方法
GET: 会调用Servlet的doGet()来处理请求
POST: 会调用Servlet的doPost()来处理请求
数据大小与安全性
GET: 大小有限制(小于2k)。 不安全
POST: 大小没有限制。 安全
1.2. 比较一下Servlet与Filter
Filter是一种特别的Servlet。 它们的作用是完全不一样的. Servlet是用来处理请求的。 而Filter是用来过滤检查请求的.
经典现实案例:
假如我们要去坐地铁去天安门。 我们需要先在检票机上刷票后才能进站坐上地铁。 请求问: 在这个实际业务中。 哪个是Servlet?哪个是Filter呢?