1.介绍Servlet的基本概念,特点
1)它是由 java 编写的、服务端程序。
2)基于Http协议的,运行在web服务器内的。Servlet和CGI都是运行在Web服务器上,用来生成Web页面。
3)没有 main 方法。是接受来自网络的请求(form表单,以及其他的请求),并对不同请求作出不同的响应。
4)由容器管理和调用。这个web容器可以控制Servlet对象的生命周期,控制请求由Servlet对象处理。
2.分析Servlet类
Servlet的继承关系
javax.servlet.Servlet接口 --> GenericServlet抽象类 --> HttpServlet --> 自定义类
必须重载doGet()或者doPost()方法
public class CartServlet extends HttpServlet{ //overside public void init() throws ServletException { //put your code } //overside public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //put your code } //overside public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //put you code }}
3.容器怎么调用对应Servlet
配置文件 web.xml 中Servert标签可以根据配置一一对应找到对应的Servlet类,
CartServlet servlet.CartServlet CartServlet /servlet/CartServlet
如果不喜欢web.xml的形式
可以采用在Servlet类中增加注解的方法,去注册Servlet类
@WebServlet
(name =
"CartServlet"
, urlPatterns = {
"/servlet/CartServlet"
})
4.Servlet生命周期的三个核心方法分别是 init() , service() 和 destroy()。
每个Servlet都会实现这些方法,并且在特定的运行时间调用它们。
init() 方法:Servlet实例的生命周期里只调用一次
service()方法:web容器调用Servlet的service()方法来处理每一个请求,但是我们不用重载这个方法
destory()方法:终结Servlet。可以再Servlet的生命周期内关闭或者销毁一些文件系统或者网络资源,在Servlet的生命周期里只能调用一次