目录

1:什么是Servlet

2:手动实现Servlet程序

3:配置Servlet常见错误

4:Servlet的生命周期

5:service分发请求(实现HttpServlet时默认分发)

6:Servlet的层级关系

7:ServletConfig类

8:ServletContext

9:HTTP协议

10:常用的响应码说明

11:MIME类型说明


1:什么是Servlet

  • Servlet是JavaEE规范之一,规范就是接口
  • Servlet是JavaWeb三大组件之一,三大组件是Servlet程序,Filter过滤器,Listener监听器
  • Servlet是运行在服务器上的程序,可以接收客户端发送的请求,并相应给客户端

2:手动实现Servlet程序

  1. 编写一个类去实现Servlet接口
  2. 实现service方法,处理请求,并响应数据
  3. 到web.xml中配置servler程序的访问地址(<servlet>和<Servlet Mapping>)

3:配置Servlet常见错误

  1. url-mapping中配置的路径没有以斜杠开头
  2. servlet-name配置的值不存在
  3. servlet-class全类名敲错

4:Servlet的生命周期

  1. 执行Servlet(一般继承HttpServlet类)的构造器方法
  2. 执行init初始化方法
  3. 执行Service方法
  4. 执行destory方法
  • 第一二步在第一次访问时调用,第三步每一次访问调用,第四步在停止web工程时调用

5:service分发请求(实现HttpServlet时默认分发)

public void service(ServletRequest servletRequest,ServletResponse servletResponse) {

    HttpServletRequest httpServletRequest = (HttpServletRequset)servletRequest;
    String method = httpServletRequest.getMethod();
    if("GET".equals(method)){
        doGet();
    }else if("POST".equals(method)){
        doPost();
    }
    
}

6:Servlet的层级关系

7:ServletConfig类

Servlet和ServletConfig对象都是由Tomcat负责创建,我们负责使用,Servlet程序默认第一次访问时候创建,ServletConfig是每个Servlet创建时,就创建一个ServletConfig对象。ServletConfig类作用:

  • 可以获取Servlet程序的别名servlet-name的值
  • 获取初始化参数init-param
  • 获取ServletContext对象

8:ServletContext

  • ServletContext是一个接口,它表示Servlet上下文对象
  • 一个web工程,只有一个ServletContext对象实例
  • ServletContext对象是一个域对象(可以像map一样存取数据,域指的是存取数据的操作范围,和map对照如下)

ServletContext作用:

  • 获取web.xml中配置的上下文参数context-param(一个上下文参数,属于整个web工程)
  • 获取当前的工程路径。格式:/工程路径
  • 获取工程部署后在服务器硬盘上的绝对路径
  • 像map一样存取数据

9:HTTP协议

  • 客户端和服务端之间通信时,发送的数据需要遵守的规则,叫做Http协议。http协议中的数据又报文;
  • 客户端给服务器端发送数据叫请求(get/post),服务器给客户端回传数据叫响应
  • get请求的http协议内容如下

  • post请求的http协议内容如下

  • 区分get和post请求

  • 响应的Http请求协议内容示例

10:常用的响应码说明

  • 200:表示请求成功
  • 302:表示请求重定向
  • 304   自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
  • 403   (禁止) 服务器拒绝请求。
  • 404:表示请求服务器已经收到,但是数据不存在(请求地址错误)
  • 500:表示服务器已经收到请求,但是服务器内部错误(代码)

11:MIME类型说明

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐