一、Servlet简介
Servlet是Sun公司提供的一门用于开发动态Web资源的技术。Sun公司在其API中提供了一个Servlet接口,用户若想用发一个动态Web资源(即开发一个Java程序向浏览器输入数据),需要完成一下2个步骤:
1、 编写一个Java类,实现Servlet接口。
2、 把开发好的Java类部署到Web服务器中。
二、Servlet的运行过程
Servlet程序是由Web服务器调用,Web服务器收到客户端的Servlet访问请求后:
1、 Web服务器首先检查是否已经装载并创建了该Servlet的实例对象,如果不存在则执行第2步,如果存在则执行第4步。
2、 加载并创建Servlet的一个实例对象调用Servlet的init()方法。
3、 船家一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
4、 WEB应用程序被停止或重启之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
三、Servlet接口的实现类
Sun公司为Servlet定义了两个默认的实现类,分别为:GenericServlet、HttpServlet。
HttpServlet是指能够处理HTTP请求的Servlet,它继承了Servlet接口,在原有的方法上又添加了一些与HTTP协议处理方法,覆写了service()方法,该方法体内的代码会自动判断用户的请求方式,根据请求方式调用相应的doGet()或doPost()方法,因此开发人员在编写Servlet是,通常需要实现此类,而在实现此类时通常只需要覆写doGet()或doPost()方法,而不去覆写service()方法。
四、ServletConfig对象和ServletContext对象
1、ServletConfig对象
在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。当Web容器在创建Servlet实例对象时,这些初始化参数会自动封装到ServletConfig对象中,并传递给Servlet,所以程序员就可以在Servlet中的到初始化参数。
需要注意的是这些初始化参数只对相对应的Servlet有效。
2、 ServletContext对象
Web容器在启动时,为每个Web应用程序都创建一个ServletContext的对象,它代表当前的Web应用程序。
需要注意的是ServletContext对象是对整个Web程序有效,所以这个程序的所有Servlet共享同一个ServletContext对象。