JSP/Servlet 的关系
JSP &Servlet 属于java web 层的技术,作用都是用来实现动态网页。JSP 主要面向的是网页设计人员,Servlet 主要面向的是程序设计人员。无论你采用两者中哪一种单一的技术,你都可以解决所有动态网页呈现的问题。从运行方式上讲,JSP 事实上需要转译为Servlet 才能运行,所以,有一种说法说它们是"一面两体",这是很恰当的。Servlet 从本质上讲,就是java 程序片段。
JSP/Servlet 容器
既然 Servlet是 java程序片段,那么它当然是不能直接运行的,必须把它放到某种运行环境当中,它才能发挥它的作用。这个环境就是我们讲的"容器"。容器也是 java 程序,它的主要功能除了为Servlet 提供运行环境,还有更重要的,就是提供网络传输协议与java 程序实体的相互转换。为什么需要这种转换呢?因为Web 应用程序是分布式的,客户端和服务器端之间需要交换数据,就要通过网络,并在一定的通讯协议下进行。最常见和常用的协议是HTTP 。客户端向服务器发送数据,遵循的是HTTP 协议的数据格式,服务器向客户端发送数据也是遵循HTTP协议的。在客户端和服务器端,可能存在着不同的编程语言编写的程序,比如java,C++等等。各种语言都有自己用于处理HTTP协议数据的方法(类),为了使用java提供的各种HTTP处理相关的类,必须将HTTP协议下的数据做一定的转换,转换成一些java object,这样才能使用java的方法进行数据处理。同理,当这些处理完成,又需要将这些java object转换回HTTP协议下的数据,反馈给客户端(JSP/Servlet当然存在与服务器端)。JSP/Servlet容器就扮演了完成这个双向转换的角色。
copyright:http://www.blogjava.net/tianlinux/archive/2009/02/19/120767.html