JavaWeb面试题

3.Servlet相关技术路线(蓝线)

此部分包括: Servlet, Filter, Listener和HTTP协议

1.1. 解释一下什么是servlet?

答: 我们可以从下面二个方面去看Servlet:

  1. API: 有一个接口Servlet, 它是Servlet规范中定义的用来处理客户端请求的程序需要实现的顶级接口
  2. 组件: 服务器端用来处理客户端请求的组件, 需要在xml请求中配置

1.2. 说一说Servlet的生命周期?

答: Servlet生命周期分为三个阶段:

  1,初始化阶段  调用init()方法

  2,响应客户请求阶段  调用service()方法-àdoGet/doPost()

  3,终止阶段  调用destroy()方法

1.3. 区别请求的转发与重定向?

答: 可以从以下三个方面进行比较

1.地址栏:

转发: 显示的是请求的URL

重定向: 显示的不是请求的URL, 而是重定向指向的新的URL

2.浏览器发了几次请求?

转发: 1次请求

重定向: 2次请求

  1. 是否可以进行Request的数据共享?

转发: 两个资源之间是同一个request对象, 可以共享request中的数据

重定向: 两个资源之间不是同一个request对象, 不可以共享

经典现实案例:

1.1. HTTP请求的GET与POST方式的区别

答: 可以从以下几个方面去回答:

  1. 携带请求参数的方式

GET: 通过请求行携带参数, 参数会显示在地址栏

POST: 通过请求体来携带参数, 参数不会显示在地址栏

  1. 服务器端处理请求的方法

GET: 会调用Servlet的doGet()来处理请求

POST: 会调用Servlet的doPost()来处理请求

  1. 数据大小与安全性

GET: 大小有限制(小于2k), 不安全

POST: 大小没有限制, 安全

1.2. 比较一下Servlet与Filter

  1. Filter是一种特别的Servlet, 它们的作用是完全不一样的. Servlet是用来处理请求的, 而Filter是用来过滤检查请求的.

经典现实案例:

假如我们要去坐地铁去天安门, 我们需要先在检票机上刷票后才能进站坐上地铁, 请求问: 在这个实际业务中, 哪个是Servlet?哪个是Filter呢?

 

本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。