1.什么是重定向,其原理是什么,有什么特点
2.如何让服务器重定向
3.什么是Servlet的生命周期
4.Servlet的生命周期分成哪几个阶段
5.Servlet的实例化过程,一般分为哪几种情形,如何设置不同情形的实例化
6.什么是Servlet的初始化,初始化过程中会调用哪些方法,其意义是什么
7.Servlet中如何实现自己的初始化处理逻辑
8.如何配置初始化参数和读取初始化参数
9.Servlet生命周期相关的几个接口与类,及其方法
- 重定向是服务器通知浏览器向某个地址发送请求.原理是服务器重定向后,会向浏览器发送响应,响应代码是302,消息头里的Location对应的地址是重定向的地址,也就是说服务器通知浏览器让其立即发送一个请求.重定位的地址是任意的,发生重定位之后,浏览器的地址会变成Location对应的地址
- 发生重定位:response.sendRedirect(String url);这里需要注意的是,发生重定位之后,会把response的内容清空.
- Servlet的生命周期指的是Servlet容器如何创建Servlet对象,初始化Servlet对象,该对象调用方法处理请求和如何销毁该对象的一个过程.
- Servlet的生命周期分为四个阶段:实例化,初始化,就绪,销毁.
- Servlet容器创建Servlet对象时,一般分为两种情况,第一种是浏览器向服务器发送请求;第二种情况是可以设置容器(服务器)启动之后,立即创建Servlet对象.针对第二种情况,需要在web.xml文件里进行配置.在<servlet>标签里添加<load-on-startup>1</load-on-startup>标签,里面的数值是大于等于0的整数,该值越小,优先级越高.
- Servlet的初始化是指容器在创建完Servlet对象之后,会立即调用的某些方法的过程.该方法只会执行一次.具体的调用流程如下:servlet对象调用继承过来的init(ServletConfig config)方法,把config保存下来,然后调用开重写的Init()方法.
- Servlet里重写无参init()方法.该方法执行在init(ServletConfig config)方法之后
- 通过getServletConfig方法可以获取到ServletCondfig对象.假如需要我们读取初始化参数,通过该对象调用getInitParameter(String name)来获取指定参数.初始化参数在web.xml设定步骤:在servlet标签里添加<init-param></init-param>标签,该标签包含两个子标签<param-name></param-name>和<param-value></param-value>,分别存放初始化值.
- Servlet生命周期中,会涉及一个接口和两个抽象类.Servlet接口声明了init(ServletConfig config),service(),destroy()这三个抽象方法;GenericServlet抽象类实现了Servlet接口,并实现了init(ServletConfig config)方法和destroy()方法,HttpServlet抽象类继承了GenericServlet,实现了service()方法.