1.什么是 Servlet?
Servlet 是 Java Web 开发的基⽯,与平台⽆关的服务器组件,它是运⾏在 Servlet 容器/Web 应⽤服务器/Tomcat,负责与客户端进⾏通信。
2.Servlet 的功能:
1、创建并返回基于客户请求的动态 HTML ⻚⾯。
2、与数据库进⾏通信。
3.配置方式
1)基于配置文件
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.xxx.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/demo1</url-parttern>
</servlet-mapping>
2)基于注解
@WebServlet("/demo1")
public class HelloServlet implements Servlet {
}
4.Servlet 的⽣命周期
1、当浏览器访问 Servlet 的时候,Tomcat 会查询当前 Servlet 的实例化对象是否存在,如果不存在,
则通过反射机制动态创建对象,如果存在,直接执⾏第 3 步。
2、调⽤ init ⽅法完成初始化操作。
3、调⽤ service ⽅法完成业务逻辑操作。
4、关闭 Tomcat 时,会调⽤ destory ⽅法,释放当前对象所占⽤的资源。
Servlet 的⽣命周期⽅法:⽆参构造函数、init、service、destory
1、⽆参构造函数只调⽤⼀次,创建对象。
2、init 只调⽤⼀次,初始化对象。
3、service 调⽤ N 次,执⾏业务⽅法。
4、destory 只调⽤⼀次,卸载对象。
5.ServletConfig
该接⼝是⽤来描述 Servlet 的基本信息的。
getServletName() 返回 Servlet 的名称,全类名(带着包名的类名)
getInitParameter(String key) 获取 init 参数的值(web.xml)
getInitParameterNames() 返回所有的 initParamter 的 name 值,⼀般⽤作遍历初始化参数
getServletContext() 返回 ServletContext 对象,它是 Servlet 的上下⽂,整个 Servlet 的管理者。
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.xxx.HelloServlet</servlet-class>
<!-- 添加配置信息 -->
<init-param>
<param-name>username</param-name>
<param-value>123123</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/demo1</url-parttern>
</servlet-mapping>
ServletConfig 和 ServletContext 的区别:
ServletConfig 作⽤于某个 Servlet 实例,每个 Servlet 都有对应的 ServletConfig,ServletContext 作⽤
于整个 Web 应⽤,⼀个 Web 应⽤对应⼀个 ServletContext,多个 Servlet 实例对应⼀个
ServletContext。
⼀个是局部对象,⼀个是全局对象。