Servlet

Servlet

静态资源与动态资源

  • 静态资源:无需在程序运行时通过代码运行生成的资源,在程序运行之前就写好的资源,例如:html css js img,音视频文件等
  • 动态资源:需要在程序运行时通过代码生成的资源,在程序运行之前无法确定的数据,运行时动态生成,例如Servlet,Thymeleaf……

动态资源指的不是视图上的动画效果或者是简单的人机交互效果


Servlet简介

Servlet(server applet)是运行在服务器(tomcat)的java小程序,是sun公司提供一套定义动态资源规范

从代码层面上来讲,Servlet就是一个接口

  • 不是所有的java类都能用于处理客户端请求,能处理客户端请求并做出响应的一套技术标准就是Servlet
  • Servlet是运行在服务端的,所以Servlet必须在WEB项目中开发且在Tomcat这样的服务容器中运行

网页的请求响应流程

浏览器只会发请求报文和接收响应报文,不管服务器端是什么运行方式,或者是什么类型代码

  1. Tomcat接收到请求之后,会将请求报文的信息转换成一个HttpServletRequest对象,该对象中包含了请求中的所有信息(请求行、请求头、请求体)
  2. Tomcat同时创建了HttpServletResponse对象,该对象用于承装要响应给客户端的信息,该对象会被转换成相应的报文(响应行、响应头、响应体)
  3. Tomcat根据请求中的资源路径找到对应的servlet,将servlet实例化,调用service方法,同时将HttpServletRequest和HttpServletResponse对象传入

service方法
  • 从request对象中获取请求中的所有信息(参数)
  • 根据参数生成要响应给客户端的数据
  • 将要响应的数据放到response对象中