第3章Servlet简答题

1、请描述Servlet的处理过程?

image-20221016200209874

流程如下:

(1)Web客户向Servlet容器(tomcat)发出Http请求;

(2)Servlet容器解析Web客户的Http请求;

(3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;

(4)Servlet容器创建一个HttpResponse对象;

(5)Servlet容器调用HttpServlet的service方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;

*HttpServlet事实上是servlet的一种子类实例也是最一般的实例。当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法就是扩展javax.servlet.genericservlet或javax.servlet.http.httpservlet,其中genericservlet类提供了servlet接口的基本实现,httpservlet类扩展了genericservlet并且提供了servlet接口中具体于http的实现。

6)HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;

7)HttpServlet调用HttpResponse的有关方法,生成响应数据;

*一般通过HttpServletRequest和HttpServletResponse获取HTTP请求信息和返回响应。事实上servlet理论上可以处理多种形式的请求响应形式 http只是其中之一 所以HttpServletRequest HttpServletResponse分别是ServletRequest和ServletResponse的子类。一般,HttpServlet对应HttpServletRequest和HttpServletResponse。

8)Servlet容器把HttpServlet的响应结果传给Web客户。
原文链接:https://blog.csdn.net/m0_46565430/article/details/122966089

2、请问Servlet程序具有的基本功能

Servlet程序具有的基本功能
(1)获取客户端通过HTML的FORM表单递交的数据和URL后面的参数信息
(2)创建对客户端的响应消息内容
(3)访问服务器端的文件系统
(4)连接数据库并开发基于数据库的应用
(5)调用其他的Java类

3、请描述一下Servlet过滤器的概念、主要API和生命周期?

(1) Servlet过滤器与Servlet十分相似,但它具有拦截客户端(浏览器)请求的功能,Servlet过滤器可以改变请求中的内容,来满足实际开发中的需要。对于程序开发人员而言,过滤器实质就是在Web应用服务器上的一个Web应用组件,用于拦截客户端(浏览器)与目标资源的请求,并对这些请求进行一定过滤处理再发送给目标资源。

image-20221016200931682

(2)①Filter 接口,包含以下方法:init()、doFilter()、destory()。

image-20221016202325528

​ ②FilterChain ,FilterChain接口用于调用过滤器链中的一系列过滤器。

image-20221016202500584

​ ③FilterConfig,在初始化过程中,容器使用 FilterConfig 将信息传递给过滤器 。

image-20221016202556984

(3)servlet生命周期一共分为4个状态 。分别是实例化:在第一次发起请求时调用构造方法,创建实例;初始化:第一次发起请求进行一些初始化操作,调用init方法;服务:调用Service方法 ,根据客户端的不同类型的请求,执行不同的方法,例如get、post、deleat等请求,执行相应的方法;销毁:服务器关闭,Servlet销毁,在销毁时调用destroy方法
注意:实例化与初始化只在第一次发起请求时执行,第二次及以后不再执行,进入服务状态。

image-20221016201316195

链接:https://www.jianshu.com/p/13b1e7437bc2

posted @   Purearc  阅读(145)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
🚀