Servlet接口与实现类(上)

Servlet生命周期

我们如果想要在Servlet处理逻辑之前做一些准备工作,或者在Servlet实例被销毁之前做一些资源回收工作,就需要依靠Servlet的生命周期来进行准确的定位。

Servlet的生命周期主要包括三个阶段:初始化,请求处理,销毁。

初始化

对应init方法,默认在客户端第一次请求Servlet时,对应的Servlet实例才会被Servlet容器创建。这个时候,Servlet容器就会回调Servlet init方法,但在特殊情况下,比如在配置文件中,配置了loadonSetup元素,就会在容器启动时被加载。

    public void init() throws ServletException {
        // TODO Auto-generated method stub
        super.init();
    }
请求处理

对应service方法,在这个方法里会根据HTTP请求的类型,将不同的HTTP请求转发给不同的Servlet方法进行处理,比如,doGet方法和doPost方法。

    protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("service method");
        super.service(arg0, arg1);
    }
销毁

对应destroy方法,在Servlet实例被销毁之前,由Servlet容器进行回调。主要是做资源的回收和清理。

    public void destroy() {
        // TODO Auto-generated method stub
        super.destroy();
    }

doGet方法和doPost方法的区别

传输方式

GET方法通过HTTP header进行传输,POST方法通过HTTP body进行传输。
GET方法传输数据需要在URL中体现出来,数据长度受限于URL的长度(2-8k),POST方法不需要。

设计目的

GET方法是为了从服务器端获取数据,而POST方法则是为了向服务器端发送数据。

安全性

POST方法安全性更高一些,因为它并不暴漏数据。

配置参数

ServletConfig对象提供了Servlet配置信息的管理功能。我们可以把需要使用的配置信息写在对应的文件中,然后通过ServletConfig对象读取对应的配置信息。
在web.xml文件中,填写对应的配置信息。

//只是添加到含有servlet-class和servlet-name的标签中
    
        参数名
        参数值
    

然后,我们就可以从java文件中获取对应的配置信息了。

ServletConfig config = this.getServletConfig();
String v1 = config.getInitParameter("name1");

特性总结:

Servlet在初始化过程中,参数将被封装到ServletConfig对象中,每个Servlet支持设置一个或多个对象,并且以Servlet为单位,并不全局共享。

你可能感兴趣的:(Servlet接口与实现类(上))