Servlet
Servlet
静态资源与动态资源
- 静态资源:无需在程序运行时通过代码运行生成的资源,在程序运行之前就写好的资源,例如:html css js img,音视频文件等
- 动态资源:需要在程序运行时通过代码生成的资源,在程序运行之前无法确定的数据,运行时动态生成,例如Servlet,Thymeleaf……
动态资源指的不是视图上的动画效果或者是简单的人机交互效果
Servlet简介
Servlet(server applet)是运行在服务器(tomcat)的java小程序,是sun公司提供一套定义动态资源规范
从代码层面上来讲,Servlet就是一个接口
- 不是所有的java类都能用于处理客户端请求,能处理客户端请求并做出响应的一套技术标准就是Servlet
- Servlet是运行在服务端的,所以Servlet必须在WEB项目中开发且在Tomcat这样的服务容器中运行
网页的请求响应流程
浏览器只会发请求报文和接收响应报文,不管服务器端是什么运行方式,或者是什么类型代码
- Tomcat接收到请求之后,会将请求报文的信息转换成一个HttpServletRequest对象,该对象中包含了请求中的所有信息(请求行、请求头、请求体)
- Tomcat同时创建了HttpServletResponse对象,该对象用于承装要响应给客户端的信息,该对象会被转换成相应的报文(响应行、响应头、响应体)
- Tomcat根据请求中的资源路径找到对应的servlet,将servlet实例化,调用service方法,同时将HttpServletRequest和HttpServletResponse对象传入
service方法
- 从request对象中获取请求中的所有信息(参数)
- 根据参数生成要响应给客户端的数据
- 将要响应的数据放到response对象中