本篇文章是对自己学习的一个总结,主要学习资料是JSP&Servlet学习笔记(第三版),林信良著,清华大学出版社出版。
这篇文章里提过,Servlet本质上是一个Java对象。http(超文本协议)请求一定是要经过HTTP服务器处理的,而超文本协议的内容基本都是文本字符串的形式(如下图)
http协议的各种信息包含在这样的一个结构体当中。如果我们只是用JavaSE来处理http请求,这当然可以实现,但是也可以想象工作过程有多繁琐。同时http是无状态的协议,直接使用JavaSE处理http请求的话,我们还得负责对象的生命周期管理。
上面只是简单说了http直接用JavaSE处理的话又多麻烦,事实上繁琐的点不止是这些。
幸运的是,我们有容器技术。容器是运行在http服务器之上的。容器接收到http请求,然后替我们整理其中的信息并转换成一个个Java对象,这样我们就可以使用这些对象的getXXX()方法很快捷地获取到我们想要的信息。同时容器也帮我们管理着这些对象的生命周期。
综上所述,容器让我们开发web时能专注于处理信息而不是解析信息。