Servlet的基本使用和介绍

发布于:2023-01-21 ⋅ 阅读:(343) ⋅ 点赞:(0)

Servlet:Servlet就是一个普通的JAVA类,但是能够处理http的请求与响应过程,自身就是一个接口,同时还有一个ServletConfig的接口,用于配置加载,分别处理的不同事务。

 

  1. Servlet的架构设计:
  2. servlet接口:自身是一个接口,用于提供服务方法,获取到servlet信息,销毁服务
  3. servletconfig接口:该接口主要实现配置加载,获取servlet的名字,上下文,配置中的一些参数以及初始化参数
  4. GenericServlet类:该类虽然实现了servlet接口,但更多的是对servletconfig接口进行了实现,而把对应的http的请求方法service扔给了其子类HttpServlet
  5. HttpServlet类:该类的主要任务就是完成用户的请求和对其进行响应,自定义的servlet必须继承该类
  6. 注意:Servlet是一个单例设计,同时能够支持多线程并发访问,所以可能会造成线程安全性问题
  1. 定义servlet:

Servlet的一些方法

GenericServlet的一些方法

 

HttpServlet的一些方法

Servletconfig接口的一些方法

 

ServletContext接口的一些方法

  1. 其中HttpServletRequest请求对应的接口是ServletRequest
  2. 而HttpServletRequest请求对应的接口是ServletResponse

  1. 由于servlet中没有内置对象,所以使用session或application时创建:
  1. 除了表单提交形式写post和AJAX异步请求方式写post,其他的请求方式都是get,在servlet中,一个get请求只能跳到另一个servlet里的doGet方法里
  1. Servlet生命周期:

1.实例化servlet对象:首先由客户端发起请求,容器会解析url,找到servlet配置中对应的url-partten,然后会找到对应的servlet-name,找到之后就会使用servlet-class实现类实例化

2.调用init()方法初始化servlet:当容器运行时就会自动调用该方法

3.调用service方法提供服务:在HttpServlet中的Service方法,会根据用户提交的方式,选择调用doXXX方法,如果我们自己重写了Service方法,而没有调用doXXX具体的方法,可能在请求后,如果同时存在service以及对应doXXX方法时,只会调用service这一个方法

4.调用destory()方法销毁:当web容器销毁时,会调用该方法对servlet进行销毁