服务器通知浏览器向某个地址发送请求。
注:
服务器可以通过发送302状态码和Location消息头
(Location消息头的值是一个地址,一般称之为重定向地址)给浏览器,
,浏览器收到之后,会立即向重定向地址发送请求。
response.sendRedirect(String url);
注:
url就是重定向地址。
容器在重定向之前,会先清空response对象上存放的所有数据
(响应数据包实体内容为空)。
a.重定向地址是任意的。
b.重定向之后,浏览器地址栏的地址会发生变化。
servlet容器如何创建servlet对象、如何对其进行初始化处理、 如果调用其方法来处理请求,以及如何销毁该对象的整个过程。
a.什么是实例化?
容器调用Servlet的构造器,创建Servlet对象。
b.什么时候实例化?
情形1(默认): 容器收到请求之后,立即创建。
情形2: 容器启动之后,立即创建(需要做一些配置)。
<!--
配置启动加载,即容器启动之后,会立即创建该
Servlet对象。
注:
参数值是一个大于等于零的整数,值越小,
优先级越高(即先被创建)。
-->
<load-on-startup>1</load-on-startup>
c.容器会创建几个实例?
一个!
a.什么是初始化?
容器在创建完servlet对象之后,会立即调用该对象的init方法。
注:
该方法只会执行一次!
b.GenericServlet已经提供了init方法的实现
将容器传递过来的ServletConfig对象保存下来了,并且
提供了一个getServletConfig方法来获得该对象。
c.如何实现自已的初始化处理逻辑?
override GenericServlet的init()方法即可。
d.初始化参数的使用
step1.配置初始化参数
<init-param>
<param-name>company</param-name>
<param-value>IBM</param-value>
</init-param>
step2. 读取初始化参数
String company =
config.getInitParameter("company");
System.out.println("company:" + company);
a.Servlet接口
init(ServletConfig config)
service()
destroy()
b.GenericServlet抽象类
该类实现了Servlet接口中的部分方法(init,destroy)。
c.HttpServlet抽象类
该类继承了GenericServlet,实现了service方法。
写一个Servlet(DelUserServlet),删除指定用户,返回用户列表。
比如http://localhost:8080/servlet04-lab/del?id=4
提示:
step1. 在UserDAO类中,添加delete方法。
step2. 添加DelUserServlet:
读取要删除的用户的id,
调用UserDAO的delete方法,
重定向到list。