1. 什么是servlet:
- servlet是用来处理客户端请求并产生动态网页内容的Java类,servlet主要是用来处理或者是存储html表单提交的数据,产生动态内容,在无状态的HTTP协议下管理状态信息
2. servlet的体系结构:
- 所有servlet都必须要实现的核心接口是Javax.servlet.Servlet,每一个servlet都必须要直接或间接的实现这个接口,或者是继承GenericServlet或者HTTPServlet,最后,servlet使用多线程可以并行的为多个请求服务
3. GenericServlet和HttpServlet有什么区别:
- GenericServlet类实现了servlet和servletConfig接口,实现了除了service() 之外的其他方法,在创建servlet对象时,可以继承GenericServlet类来简化程序的代码,但需要实现service() 方法
- HttpServlet类继承了GenericServlet类,为实际开发中大多数servlet处理HTTP请求的应用灵活的方法,并调用重载了service() 方法,实际开发中直接继承Httpservlet,并根据请求方式重写doget或dopost方法即可
4. servlet的生命周期:
- servlet程序是有web服务器调用,web服务器收到客户端的servlet访问请求后:
- web服务器首先检查是否已经装载并创建了该servlet的实例对象,如果是,则直接执行第4步,都咋执行第2步
- 装载并创建该servlet的一个实例对象
- 调用servlet实例对象的init() 方法
- 创建一个用于封装Http请求消息的HttpServletRequest对象和一个代表http响应消息的HttpServletResponse对象,然后调用servlet的service() 方法并将请求和响应对象作为参数传递进取
- web应用程序被停止或重新启动之前,servlet引擎将卸载servlet,并在卸载之前调用servlet的destroy()方法