提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
关于总结的java后端技术面试题第二天提示:以下是本篇文章正文内容,下面案例可供参考
一、说说看servlet的生命周期
1、初始化init(),只会调用一次,而且是最先执行,在服务器启动后,第一次运行servlet时被执行一次,后续不再执行。
2、service(),每请求一次servlet都会执行。
3、destory(),只会执行一次,而且是最后执行,且是服务器正常关闭。
Servlet 加载—>实例化—>服务—>销毁。
init():
在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。
service():
它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。
destroy():
仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。
二、servlet常用的api
HttpServletRequset requset
HttpServletResponse response
HttpSession
ServletContext
# 三、servlet的两种映射方式
1.xml配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201224214457417.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI4ODU4NA==,size_16,color_FFFFFF,t_70#pic_center)
2.注解配置
@WebServlet("/demo1")
# 四、什么是多重映射?
是指同一个Servlet,可以被映射成多个虚拟路径
客户端可以通过多个路径,实现对同一个Servlet的访问
# 五、过滤器的执行过程:
概念:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201224220407738.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI4ODU4NA==,size_16,color_FFFFFF,t_70#pic_center)
当用注解配置时:
/* ==>过滤所有的页面
*.do ==>只会过滤后缀是.do的页面
*.jsp ==>只会 过滤后缀是.jsp的页面
/*.do ==>不能这样使用 后缀和/不能合起来使用
# 总结
<font color=#999AAA >