1、创建JavaEE项目
2、定义一个类,实现Servlet接口
3、实现这个接口中的抽象方法
public class SeverletDemo01 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 Servlet"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }
4、配置Servlet
<servlet> <servlet-name>demo</servlet-name> <!--对应的类--> <servlet-class>com.yjl.web.Servlet.SeverletDemo01</servlet-class> </servlet> <servlet-mapping> <servlet-name>demo</servlet-name> <!--路径--> <url-pattern>/demo</url-pattern> </servlet-mapping>
执行原理:
- 当服务器接收到客户浏览器请求后,会解析请求路径,获取访问的Severlet的资源路径
- 查找web.xml文件,是否有对应的<url-pattern>标签体内容
- 如果有,则在找到对应的<servlet-class>全类名
- tomcat会将字节码文件加载进入内存,并且创建其对象
- 调用它的方法
Servlet中的生命周期:
- 被创建执行init,一次
- Servlet什么时候被创建
- 默认情况下第一次访问时被创建,但是可以配置(web.xml里)它的创建时机
-
<load-on-startup>5</load-on-startup>
- 当大于0服务器启动时,小于0第一次被访问时
- Servlet的init方法只执行一次,说明Servlet是个单例对象,尽量不要再Servlet中定义成员变量
- 执行service方法,多次
- 每次访问都会被调用
- 销毁,执行destory方法,一次(只有正常关闭,在Servlet销毁之前执行)
- servlet3.0
*好处支持注解配置,不需要web.xml
*步骤
- 创建JavaEE项目,选择Servlet的版本3.0以上
- 定义一个类,实现Servlet接口
- 复写方法
- 在类上使用@WebServlet("/demo02")