【读书笔记】之《head first Servlet and Jsp》 第二章 web应用体系结构读书笔记

时间:2021-06-24 10:41:18

本章大纲

1.什么是容器

2.web容器的作用

3.servlet的生命周期

4.容器如何处理请求

5.servlet的配置

6.MVC模式

 

1.什么是容器

servlet没有main()方法,它们受控于另一个java应用,这个java应用就是容器

 

2.web容器的作用

  • 实现Servlet与web服务器的对话。

例如监听端口

  • 负责Servlet的整个生命周期。
Servlet被服务器实例化后,web容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
  • 多线程支持。

请求到来时,至少要创建一个线程来处理这个请求。

  • 声明式使用安全。

web容器采用xml配置来保障安全

  • jsp支持。

 

3.servlet的生命周期

加载servlet类文件   servlet实例化   init()    service()    destroy()

 

4.容器如何处理请求

工作流程:

  1. 用户点击一个链接,其url指向一个servlet而不是静态页面;
  2. 容器判断出来这个请求需要servlet,创建两个对象HttpServletResponse和HttpServletRequest;
  3. 容器一句请求的url找到正确的url,创建和分配一个线程,并把请求和响应对象传递给这个servlet;
  4. 容器调用service()方法,依据种类不同调用doGet和doPost()方法;
  5. doGet方法生成动态页面,并把这个页面填入响应对象;
  6. 线程结束,容器将响应对象转换为HTTP响应,返还给客户,然后删除请求和响应对象。

 5.servlet的配置

  <servlet>
<servlet-name>Chapter1 Servlet</servlet-name>
<servlet-class>cn.servlet.Ch1Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Chapter1 Servlet</servlet-name>
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>

 

6.MVC模式

模型 -- 视图 -- 控制器(MVC)就是把业务逻辑从servlet中抽出来,把它放在一个“模型”中。