Web服务器、Web容器

Web容器

什么是容器

容器是应用服务器中位于组件和平台之间的接口集合.
容器一般位于应用服务器之内,由应用服务器负责加载和维护。一个容器只能存在于一个应用服务器之内,一个应用服务器可以建立和维护多个容器。
—-维基百科

什么是Web容器

对Java应用来说,就是运行JSP和Servlet的环境(Jsp也是编译成servlet再运行的)。
结合容器的概念,Web容器就是把内部组件(即servlet)和外部的通信协议(一般为HTTP)进行了隔离,并且提供了对servlet生命周期进行管理的功能。
如Tomcat。

Web服务器

支持HTTP协议,用于处理静态页面,如Nginx,Apache,IIS等。

应用服务器

能够处理动态内容的服务器,如WebLogic,JBoss,Tomcat等。

总结

对Web容器,Web服务器,应用服务器的区分并没有那么严格,比如Tomcat,也可以处理静态页面(只是性能不好),所以Tomcat也可以说是Web服务器。一般情况下在Apache+Tomcat搭配使用时,Apache负责处理静态页面,需要访问JSP/Servlet的,可以扔给Tomcat去处理。
在网上看到过一个对Apache和Tomcat差异的比喻,Apache就类似一辆车,上面能够存放静态的东西(静态HTML),比如椅子,衣服等,但是不能直接放水,这就需要一个桶来盛水(这个桶就类似Tomcat)。

关于JSP与Servlet

Servlet的出现早于JSP,在javax.servlet中定义了Servlet接口,包括5个方法:

  • init()
  • service()
  • destroy()
  • doGet()
  • doPost()

前三个方法控制了servlet的生命周期,servlet的init()和destroy()方法只会被调用至多一次(web容器启动时或者首次访问servlet时),service()方法可能被调用任意多次。
在service()方法中会根据请求的类型不同去调用doGet()或doPost()方法。所以自己实现的servlet实际是对doGet()和doPost()方法的实现。
早期对servlet的实现是把html代码直接用out.println()写到response中的,这样就导致代码很难写,所以就出现了JSP。
一个比较贴切的描述是:servlet是,java代码中嵌入html代码;JSP是html代码中嵌入Java代码(EL表达式)。
现在servlet主要关注的是业务逻辑的实现,JSP关注于呈现,一个是MVC中的C,一个是V。

Java新手,不断学习,持续更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值