4.1 Servlet简介
Servlet是用Java语言编写的运行在服务器端的小应用程序,用来完成B/S架构下,客户端请求的响应处理
• 平台独立,性能优良,能以线程方式运行
• Servlet API为Servlet提供了统一的编程接口
• Servlet一般在容器中运行,Servlet容器负责Servlet和客户的通信以及调用Servlet的方法
• Servlet和客户的通信采用“请求/响应”的模式
• 通常是通过HTTP(HyperText Transfer Protocol)协议进行工作的。
4.2 HTTP协议
HTTP(Hypertext Transfer Protocol, 超文本传输协议)
• HTTP是以明文方式发送数据的
• 用于从WWW服务器传输超文本到本地浏览器的传输协议。
• HTTP协议是以TCP/IP为基础的高层协议。
• 现在广泛使用的版本HTTP/1.1支持持续连接
4.3 Servlet与JSP
JSP与Servlet关系很密切,所有JSP程序在执行时都被编译转变成Servlet
• Servlet与JSP配合,开发大型的Web应用程序。主要用Servlet处理业务逻辑。
• Servlet利用多线程机制可以同时为多个请求服务,不必对每个请求都启动一个进程,因此Servlet的效率非常高。
4.4 Servlet处理的基本流程
Servlet程序将按照如下的步骤进行处理:• 客户端(很可能是Web浏览器)通过HTTP提出请求。
• WEB服务器接收该请求并将其发送给servlet。如果这个servlet尚未被加载,web服务器将把它加载到Java虚拟机并且执行它。
• Servlet程序将接收该HTTP请求并执行某种处理。
• Servlet会将处理后的结果向Web服务器返回应答。
• WEB服务器将从Servlet收到的应答发回给客户端。
4.5 Servlet 容器
• Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。
• Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。
• 目前最流行的Servlet容器软件括:
• Tomcat
• J2EE服务器(如Weblogic)中也提供了内置的Servlet容器
4.6 Servlet程序实现
Servlet程序实现
• 在整个Servlet程序之中最重要的就是Servlet接口,在此接口下定义了一个GenericServlet的子类,但是一般不会直接继承此类,而是根据所使用的协议选择GenericServlet的子类继承,例如:现在是采用HTTP协议处理的,所以一般而言当需要使用HTTP协议操作时用户自定义的Servlet类都要继承HttpServlet类。