Servlet的认识和理解

Servlet的理解

Servlet是服务器端用来处理浏览器请求的处理类,tomcat有专门的servlet容器负责管理servlet类。从java的面向对象的角度理解是最容易的,servlet是一个个类,当web服务器启动的时候,这些类会被实例化到服务器内存中,(这个过程和用new操作符一样,只是这里是用在web.xml配置文件中去注册的方式,通过Servlet容器获取web.xml内注册类路径反射实例化类),这一个个servlet对象,可以简单理解为一个个html页面,因为servlet是通过处理浏览器请求,从请求对象request中获取用户数据,把这些数据在servlet对象中处理,然后通过在servlet获取response对象,利用它的输出流,直接根据处理后的数据打印输出整个html页面,在dopost()或者doget()方法里,直接输出整个html。

这也就说明为什么可以将一个servlet当成一个html页面了,相对于静态页面不一样的就是,我们的静态页面已经写死了,浏览器输入路径,直接会在web服务器返回这路径下的静动态输出用户的输入,处理,输出结果不一样的html页面给用户。


Servlet与JSP简单记录

相对于servle,还有一个以servlet为基础的语言JSP,正如上面说的,servlet中是要在doPost()或者doGet()方法中一句一句输出的,而JSP就解决了这个问题,JSP语言,通过在html中内嵌JSP代码实现动态更新html页面。JSP页面中的处理结果集,会有专门的Servlet提供,这些Servle只对结果进行处理,然后把结果封装request或response等对象中,传递给JSP页面去展示。我觉得这也是MVC模式的一个很好的体现。