Skip to content
Go back

10-Servlet

Published:  at  03:34 AM

Servlet

概念

运行在服务器端的小程序

Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则

基本步骤

  1. 创建JavaEE项目
  2. 定义一个类,实现Servlet接口
  3. 实现接口的抽象方法
  4. 配置Servlet(在web.xml下配置)

配置代码:

    <!--配置Servlet-->
    <servlet>
        <servlet-name>demo1</servlet-name>
        <servlet-class>cn.ywrby.web.servlet.ServletDemo1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>demo1</servlet-name>
        <url-pattern>/demo1</url-pattern>
    </servlet-mapping>

执行原理

  1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
  2. 查找web.xml文件,是否有对应的标签体内容。
  3. 如果有,则再找到对应的全类名
  4. tomcat会将字节码文件加载进内存,并且创建其对象
  5. 调用其方法

servlet执行原理

声明周期

1. 被创建时

执行init方法,且只执行一次,一般用于加载资源

Servlet被创建的时机

Servlet的init方法只执行一次,说明一个Servlet在内存中只存在一个对象,即Servlet是单例的。

2. 提供服务

执行service方法,service方法可能被调用多次

3. 被销毁时

调用destroy方法,只在被销毁时执行一次,且必须是正常销毁,强制销毁时同样不执行。一般用于释放资源

注解配置

自Servlet3.0后,在配置时可以不必配置web.xml文件,而是采用注解配置的方式,大大降低配置注解的繁琐

步骤

  1. 创建JavaEE项目,选择Servlet版本在3.0以上,可以不创建web.xml
  2. 定义一个类,实现Servlet接口
  3. 复写方法
  4. 为该类添加注解,并进行配置@WebServlet(url-pattern="资源路径")或者省略url-pattern直接写作@WebServlet("资源路径")

一个url-pattern可以配置多个路径,例如@WebServlet({"/demo2","/demo3"})

例如

@WebServlet("/demo1")
public class ServletDemo1 implements Servlet {}

Servlet体系结构

一般情况下我们采用继承HttpServlet并复写doGet和doPost方法的方式实现Servlet类


Suggest Changes

Previous Post
11-Http概述
Next Post
9-web服务器软件概述+Tomcat