Servlet——概述、实现方式、生命周期、ServletConfig类

Servlet类

1.什么是Servlet
    Servlet(Server applet)服务器的小程序, Servlet是JavaWeb的三大组件之一,它属于动态资源, 也是JavaEE中的一个规范。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要进行下面三步,实现动态页面输出.
        1.接收请求数据;
        2.处理请求
        3.完成响应
    Servlet必须实现javax.servlet.Servlet接口

实现Servlet的方式

1.实现Servlet有三种方式: 
    1.实现javax.servlet.Servlet接口
    2.继承javax.servlet.GenericServlet类
    3.继承javax.servlet.httpServlet类
2.创建一个MyServlet类实现javax.servlet.Servlet接口

public class MyServlet implements Servlet {

/*
* 它是生命周期方法
* 它会在Servlet对象创建之后马上执行,并只执行一次
*/
@Override
public void init(ServletConfig servletConfig) throws ServletException {
    System.out.println("init()...");
}

/*
 * 它是生命周期方法
 * 它会被调用多次,每次处理请求都是在调用这个方法!
 * */
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    System.out.println("service()...");
}

/*
* 它是生命周期方法
* 它会在Servlet被销毁之前调用,并且它只会被调用一次!
* */
@Override
public void destroy() {
    System.out.println("destroy()...");

}

/*
* 可以用来获取Servlet的配置信息
* */
@Override
public ServletConfig getServletConfig() {
    System.out.println("getServletConfig()...");
    return null;
}

/*
* 获取Servlet的信息
* */
@Override
public String getServletInfo() {
    System.out.println("getServletInfo()...");
    return null;
}

}
3.步骤二:在web.xml中配置Servlet
1.如何让浏览器访问Servlet, 需要给Servlet指定一个Servlet路径.
2.在web.xml中配置

firstServlet
com.sunny.servlet.MyServlet

firstServlet /MyServlet

三、Servlet的生命周期

1.void init (ServletConfig servletConfig)初始化方法
    1.如果有构造器,会先调用构造方法(优先于init)
    2.当Servlet被创建的时候执行init方法,且执行一次
    3.默认情况下,第一次被访问时,Servlet被创建
    4.可以在web.xml中servlet标签下配置Servlet的创建时间
        *<load-on-startup>负数</load-on-startup>第一次访问时创建
        *<load-on-startup>正数</load-on-startup>服务器启动时创建
    5.因为init方法只被执行一次,所以一个Servlet在内存中只存在一个对象,Servlet是单例. 多个用户同时访问时,可能存在线程安全问题。
        *解决:不要在Servlet类中定义成员
2.void service (ServletRequest servletRequest, ServletResponse servletResponse)方法
    每当访问Servlet时,Servlet方法都会被调用一次
3.void destroy()销毁方法
    1.Servlet被销毁时执行,服务器关闭时,Servlet被销毁
    2.只有服务器正常关闭时,才会执行destory方法
    3.destory方法在Servlet被销毁之前执行,一般用于释放资源
        注意:Servlet类由我们编写,但对象由服务器创建,并且由服务器来调用对应的方法.

ServletConfig类

1.ServletConfig的作用
    首先一个ServletConfig类对应着一段web.xml中配置的Servlet信息;也就是说我们配置的Servlet信息都会被Tomcat解析后,将配置信息的数据保存在ServletConfig类中.所以一个ServletConfig类只对应一段Servlet信息.
2.ServletConfig中的方法
    1.String getServletName(): 获取<servlet-name>的内容
    2.ServletContext getServletContext():获取Servlet上下文对象
    3.String getInitParameter(String name): 通过名称获取指定初始化参数的值
    4.Enumeration getInitParameterNames(): 获取所有初始化参数的名称
        首先在web.xml的servlet标签中配置一些初始化参数要使用到:
name ZYGui
posted @ 2020-04-25 23:13  林jj  阅读(134)  评论(0编辑  收藏  举报