博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet Specification V2.4——SRV.1 Overview
阅读量:7143 次
发布时间:2019-06-28

本文共 1403 字,大约阅读时间需要 4 分钟。

hot3.png

SRV.1 Overview

 

SRV.1.1 What is a Servlet?

  • 基于Java技术,由容器管理,可以生成动态内容的web组件。

  • 和其他基于Java技术的组件一样,servlet是跨平台的。并且它还运行于可以支持Java技术的web服务器

  • container,我们有时候称为servlet引擎,是支持servlet的web server。

  • servlet通过container实现的request/response模型与web client进行交互。

 

SRV.1.2 What is s Servlet Container?

        Servlet container是web server/application server的一部分, 这种server通过发送request/response,解码基于MIME的request,并且格式化基于MIME的response来提供网络服务。

        一个servlet container必须构建在宿主web服务器之内,或者作为一个附加组件被安装到web服务器上,通过其服务器的原生扩展API。Servlet container也可以或者有能力被被构建在支持web的应用程序服务器上。

        所有的servlet container必须支持HTTP作为request和reponse的协议,但附加的基于request/response的协议,比如HTTPS也可以被支持。Container必须实现的HTTP规范版本为HTTP/1.0和HTTP/1.1。因为container必须有一个在RFC2616(HTTP/1.1)中描述的缓存机制,它可以在分发来自client的request至servlet之前修改它们,也可以响应request而不分发它至servlet,像RFC2616描述的那样。

        Servlet container可以在servlet执行的环境上设置安全限制。在Java 2平台上,标准版(J2SE1.3或更高)或者企业版(J2EE1.3或更高)的环境中,这些限制应该通过使用Java2平台定义的权限架构被设置。比如,高端的应用服务器可以限制Thread对象的创建来确保container的其他组件不受到不好的影响。

        J2SE 1.3是构建Java平台下web container所需的最低版本。

 

 

SRV.1.3 An Example

  1. client访问web server,并且发起一个http request;

  2. web server收到request并转交给servlet container;

  3. servlet container根据servlet的相关配置决定调用哪个servlet,并且使用展现request/response所需的对象去调用那个servlet;

  4. servlet通过request对象找出谁是远程调用者,这个request通过http post的方式发送了那些参数,以及其他相关数据。servlet会执行代码指定的业务逻辑,并且生成数据,通过response对象返回到client。

  5. 一旦servlet完成了对request处理,container会确认response已经被正确地flush了,并将控制权还给web server。

转载于:https://my.oschina.net/allman90/blog/548259

你可能感兴趣的文章
keytool生成证书与Tomcat SSL配置
查看>>
ejabberd源码流程梳理
查看>>
Java并发3-多线程面试题
查看>>
java获取日期之间的差异
查看>>
[转]浅谈协方差矩阵
查看>>
[c#美味] Guid ToString 格式知多少?
查看>>
Swift - 页控件(UIPageControl)的用法
查看>>
二维码的生成细节和原理
查看>>
curl 网页抓取
查看>>
防止SQL注入攻击的一些方法小结
查看>>
Git是个好工具(转)
查看>>
BeginInvoke、ThreadPool、Task三类异步方法的区别和速度比较
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统--系统模块部分图
查看>>
iOS开发-Alcatraz插件管理
查看>>
Linux下安装配置Redis
查看>>
CNN网络架构演进:从LeNet到DenseNet
查看>>
Redis 安全
查看>>
Hbase调用JavaAPI实现批量导入操作
查看>>
python基础-异常(exception)处理
查看>>
ios虚拟机安装(二)
查看>>