快速入门
- 创建JavaEE项目
- 定义一个类,实现Servlet接口
import javax.servlet.*;
import java.io.IOException;
public class ServletDemo01 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
//提供服务的方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Hello Servelt");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
- 实现接口中的抽象方法
- 配置Servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--配置servlet -->
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cd.abc.test.servlet.ServletDemo01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1</url-pattern>
</servlet-mapping>
</web-app>
运行,在浏览器后面输入/demo1就可得到
demo1为资源名称
执行原理
- 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径。
- 查找web. xml文件,是否有对应的< url-pattern>标签体内容。
- 如果有,则在找到对应的< servlet-class>全类名。
- tomcat会将字节码文件加载进内存,并且创建其对象。
- 调用其方法。
生命周期
//初始化方法,servlet创建时,执行,只执行一次
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
//获取ServletConfig对象
//ServletConfig: Servlet的配对象
@Override
public ServletConfig getServletConfig() {
return null;
}
//提供服务的方法,每一次servlet访问,都执行
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Hello Servelt");
}
//获取Servlet的一些信息,版本,作者等等
@Override
public String getServletInfo() {
return null;
}
//销毁方法,在服务器正常关闭时,执行,执行一次
@Override
public void destroy() {
}