`
Riancy007
  • 浏览: 116637 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

servlet2.3规范之一

阅读更多
第1章 概述

1.1 Servlet是什么?

Servlet是一项基于web组件,由容器管理,生成动态内容的Java技术。和其他基于组件的Java技术类似,servlet是些平台无关的Java类,被编译成平台无关的字节码,由支持Java的web服务器动态加载并运行。容器,有时称为servlet引擎,是提供servlet功能的web服务器扩展。Servlet通过servlet容器实现的请求/响应形式来与web客户端交互。



1.2 Servlet容器是什么?



Servlet容器是web服务器或应用服务器的一部分,提供发送请求和响应的网络服务,对基于MIME的请求编码,并且格式化基于MIME的响应。Servlet容器还通过servlet的生命周期对它们容纳和管理。



Servlet可以构建于本地web服务器内,或者通过服务器的本地扩展API以附加组件形式安装到Web服务器。Servlet容器还可以构建于或者可能安装在支持web的应用服务器内。



所有servlet容器必须支持HTTP作为请求和响应的协议,但是基于HTTPS(SSL上的HTTP)协议的附加请求/响应可以选择支持。容器必须实现的HTTP规范最低版本是HTTP/1.0。强烈建议容器同时要实现HTTP/1.1规范。



Servlet容器可以在servlet执行的环境中设置安全限制。在Java2平台,J2SE1.2或者J2EE1.3环境,这些限制应当使用Java2平台定义的许可体系来设置。比如,高端应用服务器可以限制Thread对象的创建,以确保容器的其他组件不会被拒绝嵌入。



J2SE1.2是构建servlet容器的底层Java平台的最低版本。



1.3 一个例子

下列是一个典型的事件序列:



1. 客户端(也就是web浏览器)访问web服务器,发出HTTP请求。

2. 请求由web服务器接收,转给servlet容器。Servlet容器可以和本地web服务器运行于相同的进程内,相同主机的不同进程,或者和处理请求的web服务器不同的主机。

3. Servlet容器根据servlet的配置决定调用哪一个servlet,然后使用表示请求和响应的对象来调用。

4. Servlet使用request对象来找出远程用户是谁,可能作为请求一部分发送的HTTP POST参数以及其他相关数据是什么。无论被编程为什么样的逻辑,都由servlet执行,然后生成数据发送回客户端。它通过response对象把数据发送回客户端。

5. 一旦servlet已经完成了请求处理,servlet容器确保响应被适当刷新,然后将控制返回给本地web服务器。



1.4 比较Servlet和其他技术

在功能方面,servlet介于CGI(Common Gateway Interface)程序和专有服务器扩展比如NSAPI(Netscape Server API)或Apache模块之间。



Servlet相比其他服务器扩展机制有以下优点:



• 它们通常要比CGI脚本更快,因为使用一个不同的进程模块。

• 它们使用很多web服务器支持的标准API。

• 它们具有Java编程语言的所有优点,包括容易开发和平台无关。

• 它们可以访问Java平台可用的大量的API。



1.5 与J2EE的关系

Servlet API 2.3是J2EE1.31必需的API。部署它们的servlet容器和servlet必须满足J2EE规范中描述的其他需求,以在J2EE环境中执行。



1. 请参见J2EE规范(http://java.sun.com/j2ee/)。

分享到:
评论

相关推荐

    servlet2.3规范中文版

    servlet是一个基于java技术的web组件,该组件被容器管理,能被编译成字节码被web服务调用;容器也被称之为引擎,是支持servlet功能的web服务的扩展

    servlet2.3规范

    servlet是一个基于java技术的web组件,该组件被容器管理,能被编译成字节码被web服务调 用;容器也被称之为引擎,是支持servlet功能的web服务的扩展。servlet之间的通信是通过客户 端请求被引擎执行成request/...

    Servlet 文档

    Servlet2.3规范 servlet2.3规范用到了一下的一些规范:J2EE、JSP1.1、JNDI 在14章中讲述了规范中的所有的classes类或接口(改文中不讲述)。对开发者而言以下的有些相关的协议:URI、URL、HTTP/1.0、MIME、HTCPCP/...

    EL基本手册

    到了JSP2.0之后,EL已经正式纳入成为标准规范之一。因此,只要是支持Servlet 2.4 / JSP 2.0的Container,就都可以在JSP网页中直接使用EL了。 除了JSP2.0建议使用EL之外,JavaServer Faces( JSR-127 ) 也考虑将EL纳入...

    EL AND JSTL概述

    到了JSP 2.0 之后,EL 已经正式纳入成为标准规范之一。因此,只要是支持Servlet 2.4 / JSP2.0 的Container,就都可以在JSP 网页中直接使用EL 了。 除了JSP 2.0 建议使用EL 之外,JavaServer Faces( JSR-127 ) 也考虑...

    JSTL高级用法

    JSTL标签库(Java Server Pages Standard Tag Library) JSTL是由Apache的Jakarta小组...JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。 JSTL的优点

    外文翻译 stus MVC

    ActionServlet is the Command part of the MVC implementation and is the core of the Framework. ActionServlet (Command) creates and uses Action, an ActionForm, and ActionForward. As mentioned earlier, ...

    JSP 程序设计从入门到精通 PDF 教程

     4.2 Servlet规范定义的Servlet 生命周期 70  4.3 JSP/Servlet的重定向技术综述 72  4.3.1 RequestDispatcher.forward() 72  4.3.2 response.sendRedirect() 73  4.4 理解会话 74  4.4.1 会话状态跟踪API...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    第12章 简化企业开发瑰宝之一 第13章 简化企业开发瑰宝之二 第14章 程序员的伴侣 第2篇 范例演练篇 第15章 学以致用 第16章 幕后英雄的用武之地 第17章 Web开发的制胜法宝 第18章 数据分析大师 第19章 体验完美视觉...

    JSP高级编程(全)

    3.1 实体EJB 的开发技术之一CMP EJB 3.2 实体EJB 的开发技术之二——BMP EJB 3.3 EJB 开发实例封装数据源 3.4 本章小结 第4 章 JSP 与J2EE 分布式处理技术 4.1 J2EE 和分布式处理技术 4.2 远程方法调用RMI 技术 4.3 ...

    JSP高级编程          

    3.1 实体EJB 的开发技术之一CMP EJB 3.2 实体EJB 的开发技术之二——BMP EJB 3.3 EJB 开发实例封装数据源 3.4 本章小结 第4 章 JSP 与J2EE 分布式处理技术 4.1 J2EE 和分布式处理技术 4.2 远程方法调用RMI 技术 4.3 ...

    基于Java的物管系统设计与实现.docx

    5 2.3.1操作可行性 5 2.2 需求分析 6 2.2.1系统用例图 6 2.2.2系统功能模块需求分析 6 2.3 系统流程 8 3 系统设计 9 3.1 系统设计目标 9 3.2 系统功能设计 9 3.3 数据库设计 9 3.3.1数据库的概念结构设计 9 3.3.2...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    2.3.2 使用MVC模式的不足之处 2.4 目前市场上常见的轻量级J2EE开发容器 2.5 小结 第二篇 建立和使用J2EE的开发平台 第三章 建立Java的开发平台 3.1 建立Java的开发环境 3.1.1 下载JDK 3.1.2 安装JDK 3.1.3 设定Path...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    2.3.2 使用MVC模式的不足之处 2.4 目前市场上常见的轻量级J2EE开发容器 2.5 小结 第二篇 建立和使用J2EE的开发平台 第三章 建立Java的开发平台 3.1 建立Java的开发环境 3.1.1 下载JDK 3.1.2 安装JDK 3.1.3 设定Path...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    2.3.2 使用MVC模式的不足之处 2.4 目前市场上常见的轻量级J2EE开发容器 2.5 小结 第二篇 建立和使用J2EE的开发平台 第三章 建立Java的开发平台 3.1 建立Java的开发环境 3.1.1 下载JDK 3.1.2 安装JDK 3.1.3 设定Path...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    2.3.2 使用MVC模式的不足之处 2.4 目前市场上常见的轻量级J2EE开发容器 2.5 小结 第二篇 建立和使用J2EE的开发平台 第三章 建立Java的开发平台 3.1 建立Java的开发环境 3.1.1 下载JDK 3.1.2 安装JDK 3.1.3 设定Path...

    Java范例开发大全 (源程序)

     2.3 其他形式 18  实例11 常量与变量 18  实例12 各种进制的转换 19  实例13 Java中的进制与移位运算符 22  第3章 条件控制语句(教学视频:75分钟) 26  3.1 if控制语句 26  实例14 判断输入的年份...

    java范例开发大全(pdf&源码)

    2.3 其他形式 18 实例11 常量与变量 18 实例12 各种进制的转换 19 实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 ...

    java范例开发大全源代码

     2.3 其他形式 18  实例11 常量与变量 18  实例12 各种进制的转换 19  实例13 Java中的进制与移位运算符 22  第3章 条件控制语句(教学视频:75分钟) 26  3.1 if控制语句 26  实例14 判断输入的...

    java范例开发大全

    2.3 其他形式 18 实例11 常量与变量 18 实例12 各种进制的转换 19 实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 ...

Global site tag (gtag.js) - Google Analytics