`
jinnianshilongnian
  • 浏览: 21505624 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2418850
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:3009013
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5639625
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:259987
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1597426
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:250262
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5859136
Group-logo
跟我学Nginx+Lua开...
浏览量:702372
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:785298
社区版块
存档分类
最新评论

Servlet3.1规范翻译——概览

 
阅读更多

 

 

 

Servlet3.1(JSR340)规范目前处于早期草案阶段,目标是在Java EE 7或更高平台。 Servlet3.0(JSR 315)已经包含在Java EE 6平台。具体请参考本规范网站:http://jcp.org/en/jsr/detail?id=340

 

概览

1.1      什么是Servlet

Servlet是基于Java技术的web组件,容器托管的,用于生成动态内容。像其他基于Java的组件技术一样,Servlet也是基于平台无关的Java类格式,被编译为平台无关的字节码,可以被基于Java技术的web server动态加载并运行。容器,有时候也叫做servlet引擎,是web server为支持servlet功能扩展的部分。客户端通过Servlet容器实现的请求/应答模型与Servlet交互。

 

1.2 什么是Servlet容器?

Servlet容器是web serverapplication server的一部分,提供基于请求/响应发送模型的网络服务,解码基于MIME的请求,并且格式化基于MIME的响应。Servlet 容器也包含了管理Servlet生命周期。

 

Servlet容器可以嵌入到宿主的web server中,或者通过Web Server的本地扩展API单独作为附加组件安装。Servelt容器也可能内嵌或安装到包含web功能的application server中。

 

所有Servlet容器必须支持基于HTTP协议的请求/响应模型,但如基于HTTPSHTTP over SSL)协议的请求/应答模型可以选择性的支持。容器必须实现的HTTP协议版本包含HTTP/1.0 HTTP/1.1。因为容器或许支持RFC2616 (HTTP/1.1)描述的缓存机制,也可能在将客户端请求交给Servlet处理之前修改它们,也可能在将Servlet生成的响应发送给客户端之前修改它们,或者可能根据RFC2616规范直接对请求作出响应而不交给Servlet进行处理。

 

Servlet容器应该使Servlet执行在一个安全限制的环境中。在Java平台标准版(J2SE, v.1.3 或更高) 或者 Java平台企业版(Java EE, v.1.3 或更高) 的环境下,这些限制应该被放置在Java平台定义的安全许可架构中。比如,高端的application server或许限制Thread对象的创建从而保证容器的其他组件不受到一些负面影响。

 

Java SE 6是构建基于Java平台的Servlet容器的最低版本。

 

1.3 例子

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

1、客户端(如 web浏览器)发送一个HTTP请求到web服务器;

2Web服务器接收到请求并且交给servlet容器处理,servlet容器可以运行在与宿主web服务器同一个进程中,也可以是同一主机的不同进程,或者位于不同的主机的web服务器中,对请求进行处理。

3servlet容器根据servlet配置选择相应的servlet进行调用,调用时将请求和响应对象作为参数传入。

4servlet通过请求对象得到远程用户,HTTP POST参数将作为请求的一部分一起发送过来,并且还有一些其他数据。Servlet执行我们编写的任意的逻辑,然后动态产生响应内容发送回客户端。发送数据到客户端是通过响应对象完成的。

5、一旦servlet完成请求的处理,servlet容器必须确保响应正确的刷出,并且将控制权还给宿主Web服务器。

 

1.4 Servlet与其他技术的比较

从功能上看,servlet位于公共网关接口(CGI)程序和私有的server扩展如Netscape Server APINSAPI)或Apache Modules这两者之间。

 

Servlet包含如下优势相对于其他server扩展机制:

它们通常比CGI脚本更快,因为采用不同的处理模型。

它们采用标准的API从而支持更多的Web Server

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

它们可以访问Java平台提供的大量的API

 

1.5 Java平台企业版的关系

Java Servlet API 3.0版本是Java平台企业版 6版本(http://java.sun.com/javaee/)必须的APIServlet容器和servlet被部署到平台中,为了在Java EE环境中执行,必须满足描述在JavaEE规范中的更多要求。

 

1.6 Java Servlet规范 2.5版本间的兼容性

1.6.1 监听器(Listener)顺序

该规范发布的之前版本,监听器以随机顺序被调用。从Servlet3.0开始,监听器调用顺序定义在第『8 76』页的“web.xml 装配描述符,web- fragment .xml和注解”部分。

 

1.6.2 注解处理

Servlet 2.5中,metadata-complete仅影响部署时刻的注解扫描。web-fragments的想法也不在servlet 2.5中存在。不过,在servlet 3.0metadata-complete将影响web-fragments和部署时刻的注解扫描。在一个web应用程序中,此版本的描述符必须不影响你扫描哪一些注解。规范的一个典型版本实现必须扫描配置中支持的所有注解,除非metadata-complete被指定。

 

 PS:希望大家不吝指正翻译中的错误,希望有兴趣的iteye朋友加入进来一起翻译和学习

19
1
分享到:
评论
17 楼 小小诺 2013-06-28  
   
16 楼 jinnianshilongnian 2013-05-30  
sgq0085 写道
sgq0085 写道
博主,现在大部分用的还是J2EE5,对应的应该是Servlet2.5,请问哪里有中文规范。

好像有歧义,运行时是由Servlet实现决定的
之前的表述的意思是在eclipse ide中Dymain Web Module 2.5对应的是JavaEE5以及Servlet2.5

2.5的不知道

肯定是有具体的实现决定的,比如tomcat6不支持3 而7支持 这个不是啥子问题

Dymain Web Module 2.5对应的是JavaEE5以及Servlet2.5  这个要看你的实现 如上
15 楼 sgq0085 2013-05-30  
sgq0085 写道
博主,现在大部分用的还是J2EE5,对应的应该是Servlet2.5,请问哪里有中文规范。

好像有歧义,运行时是由Servlet实现决定的
之前的表述的意思是在eclipse ide中Dymain Web Module 2.5对应的是JavaEE5以及Servlet2.5
14 楼 sgq0085 2013-05-30  
博主,现在大部分用的还是J2EE5,对应的应该是Servlet2.5,请问哪里有中文规范。
13 楼 dazhangguide 2013-05-14  
支持!期待更多的好博文!
12 楼 ylzyd12345 2012-12-15  
newLinuxJava 写道
newLinuxJava 写道
你完你的中文翻译,再看英文,来学习英语

打错字,但iteye不支持修改已发评论。
==>读完你的中文翻译,再看英文,来学习英语

好主意啊,我也这么想的。。。
11 楼 newLinuxJava 2012-12-11  
newLinuxJava 写道
你完你的中文翻译,再看英文,来学习英语

打错字,但iteye不支持修改已发评论。
==>读完你的中文翻译,再看英文,来学习英语
10 楼 newLinuxJava 2012-12-11  
你完你的中文翻译,再看英文,来学习英语
9 楼 lazy_ 2012-11-13  
引用
本人英语水平一般(),希望大家不吝指正翻译中的错误,希望有兴趣的iteye朋友加入进来一起翻译和学习。



最近看的都是英语资料,我发现,理解关键是技术,而不是英语。海涛技术那么好,翻译小CASE啦。。。

现在自己想在业余做点事情,准备用freemarker+ spring MVC ,然后,正在学你的Spring MVC,写得很不错!

PS:帮你投了一票,期待你能继续贡献好的博文!
8 楼 jinnianshilongnian 2012-11-11  
步青龙 写道
大力支持你!!!

7 楼 jinnianshilongnian 2012-11-11  
bexiu5367 写道
jinnianshilongnian 写道
chenzenghua 写道
开涛是技术大牛加人品大牛啊,猛的支持一下:)

  不敢当啊,还处在升级打怪阶段  早啊

升级打怪阶段

6 楼 bexiu5367 2012-11-10  
jinnianshilongnian 写道
chenzenghua 写道
开涛是技术大牛加人品大牛啊,猛的支持一下:)

  不敢当啊,还处在升级打怪阶段  早啊

升级打怪阶段
5 楼 jinnianshilongnian 2012-11-10  
keer2345 写道
开涛的笑容总是这么的灿烂,哈哈

4 楼 keer2345 2012-11-10  
开涛的笑容总是这么的灿烂,哈哈
3 楼 步青龙 2012-11-10  
大力支持你!!!
2 楼 jinnianshilongnian 2012-11-10  
chenzenghua 写道
开涛是技术大牛加人品大牛啊,猛的支持一下:)

  不敢当啊,还处在升级打怪阶段  早啊
1 楼 chenzenghua 2012-11-10  
开涛是技术大牛加人品大牛啊,猛的支持一下:)

相关推荐

    JSP教程——必看.pdf

    ### JSP教程——必看.pdf 知识点详解 #### 第1章 JSP简介 ...以上就是《JSP教程——必看.pdf》的主要知识点概览,通过学习这些内容,你可以掌握JSP的基础知识和高级应用技巧,为实际项目开发打下坚实的基础。

    JSP教程及案例——pdf

    ### JSP教程及案例知识点概览 #### 第1章 JSP简介 ##### 1.1 什么是 JSP JSP(JavaServer Pages)是一种基于Java技术的服务器端脚本技术,用于开发动态网页。它允许将Java代码嵌入到HTML文档中,并在服务器端执行...

    Java Web程序设计教程

    3.1开发第一个jsp+servlet应用 33 3.1.1创建工程 33 3.1.2编写程序 34 3.1.3部署应用 35 3.2认识jsp 36 3.2.1jsp的工作原理 37 3.2.2jsp注释方式 37 3.2.3jsp声明方式 38 3.2.4jsp表达式的应用 39 3.2.5jsp...

    hibernate_reference

    这一节提供了一个基于 Web 的示例应用——EventManager,帮助开发者理解如何在 Web 应用中集成 Hibernate。 - **1.4.1 编写基础 Servlet**:介绍了如何编写一个简单的 Servlet 来处理 HTTP 请求。 - **1.4.2 处理和...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4...

    李兴华Java Web开发实战经典(高清版) Part2

    3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4...

    web课程设计-个人信息增删改查.docx

    《Web课程设计——个人信息增删改查》 在信息技术领域,Web应用开发是不可或缺的一部分,尤其是在个人信息管理方面。本文档将详细阐述一个基于Web的个人信息管理系统的设计与实现,包括需求分析、技术选型以及用户...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    1.1 Model 2概览 1 1.2 带servlet控制器的Model 2 2 1.2.1 Product动作类 3 1.2.2 ControllerServlet类 4 1.2.3 视图 6 1.2.4 部署描述文件 8 1.2.5 示例程序的运行 9 1.3 带过滤器调度程序的Model 2 9 1.4 小结 13 ...

Global site tag (gtag.js) - Google Analytics