简介
Servlet是Java提供的一门动态web资源开发技术
Servlet是JavaEE规范之一
是一个接口,需要我们定义Servlet实现类来实现Servlet接口,有web服务器运行
Servlet依赖坐标
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
注意:scope依赖范围设置为provided(编译和测试环境有效、运行环境无效),因为Tomcat自带Servet的jar包,如果不在运行环境下排除,那么会冲突
Servlet接口方法
public void init(ServletConfig servletConfig) throws ServletException {
}
public ServletConfig getServletConfig() {
return null;
}
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
public String getServletInfo() {
return null;
}
public void destroy() {
}
添加@WebServlet注解设置访问路径
@WebServlet("/demo1")
public class ServletDemo1 implements Servlet
Servlet生命周期
Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来Http为4个阶段:
- 加载和实例化:第一次访问时,由容器创建Servlet对象
- 初始化:Servlet实例化后,容器调用Servlet的init()方法,初始化对象
- 请求处理:每次请求Servlet时,容器都会调用Servlet的service()方法处理请求
- 服务终止:容器调用destroy()方法释放资源,并释放Servlet实例,该实例会被Java的垃圾收集器回收
Servlet体系结构
HttpServlet中根据请求方式不同(GET\POST),调用不同方法
GET和POST的请求参数位置不一样,在HttpServlet中的service()方法中就要根据请求方式的不同调用不同的方法。