为了账号安全,请及时绑定邮箱和手机立即绑定

java里面的web容器是指什么

java里面的web容器是指什么

江户川乱折腾 2018-09-03 10:02:04
容器的概念似乎是从java开始提出的,在其它语言里都没有类似的描述。从我们开始接触的tomcat,jetty等等,在我们做脚本语言的看来都是服务器,但是在java中却被称为web容器,那么什么是web容器呢?
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

web服务器,严格意义上讲就是实现http协议的最基本功能,能监听指定服务器端口,并接受请求发出响应的服务系统。例如apache、nginx等都是此类。不过现实中很多web服务器出于种种考虑回内置针对特定语言或架构的处理体系,例如iis内置了asp.net的处理架构,apache也可以通过扩展提供php、rails等处理架构(这些特别内置的模块,你也可以简单理解为web容器了)。如果web服务器自己不处理特别请求,那么可以通过cgi等方式转发给后端处理,例如apache、nginx都可以通过fastcgi将请求转发给后端端口,例如php-fpm服务,或python的什么服务等等。

其实在java之前一直不太有web容器这种说法,到目前似乎也只有java是这么提的。这主要是因为整个java的web开发是基于javaEE的servlet技术体系,该体系规范规定了web请求的整个生命周期的方方面面。但是规范只是规定了实现的标准,或者说是接口(interface),具体实现都是各厂商自己搞定,所以这就出现了各种不同的web容器,例如tomcat、jetty、jboss等等。

又说回来,这些容器为了方便开发者,大多都提供了web服务器的功能,不过和专业的web服务器相比总有些缺失不足,所以一般只用来做开发用,生产环境主要还是作为后端服务。


查看完整回答
反对 回复 2018-09-16
  • 2 回答
  • 0 关注
  • 1822 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信