要想了解什么是 Servlet 容器,我们得先了解什么的 Web 服务器。

一、Web 服务器

Web 服务器是使用 HTTP 协议来传输数据的,其中最简单的一种情况就是用会在 client 中输入一个 URL ,然后通过网页进行浏览,在网页中可以看到你编写的界面,因此,服务器的工作就是发送网页到客户端。

二、Servlet 容器

单单使用 Web 服务器的话,我们会发现用户和客户端只能向服务器请求静态的网页。如果说用户想根据自己的输入来读取网页的话就不能单单需要 Web 服务器来发送网页,这个时候我们就需要用到 Servlet 容器了,Servlet 容器的基本思想是在服务器端使用 Java 来动态生成网页。因此, Servlet 容器是 Web 服务器和 servlet 进行交互的必不可少的组件。

注意:Servlet 容器是用来装 Servlet 的。

三、什么是 Servlet ?

简单来说 Servlet 是在 java.servlet 包中的一个接口,这个接口声明了 servlet 生命周期中必不可少的三种方式 —— init()、service()、destroy()。每个servlet(无论是在SDK中定义的,或是自定义的)都必须实现这三个方法,而且由服务器在特定的时刻调用。我们来讲解一下

servlet 生命周期中必不可少的三种方式:

1> init() 方法主要传递了一个实现接口 javax.servlet.ServletConfig 的对象,一般在 Servlet 生命周起初始化阶段被调用,能够让 Servlet 从 Web application 中获得初始化参数。

2> service() 方法主要是判断请求类型,并把它转发给相应的方法处理, servlet 每接受一个请求,就会调用一次 sercice() 方法,并且每个请求的处理都会在独立的线程中进行。

3> destroy() 方法是当我们需要销毁 servlet 对象的时候,调用该方法来释放占用的资源。

和所有的Java程序一样,servlet运行在JVM中。引入servlet容器是为了处理复杂的HTTP请求。Servlet容器负责servlet的创建、执行和销毁。

四、JVM

JVM 就是 Java 虚拟机,只要使用 servlet 就要允许JVM为处理每个请求分配独立的Java线程,这也是Servlet容器主要的优势之一。每一个servlet都是一个拥有能响应HTTP请求的特定元素的Java类。Servlet容器的主要作用是将请求转发给相应的servlet进行处理,并在JVM处理完请求后,将动态生成的结果返回至正确的地址。在大多数情况下,servlet容器运行在独立的JVM中,但如果容器需要多个JVM,也有相应的解决方案。

java servlet容器有哪些_Java Web —— servlet 容器相关推荐

  1. BaseServlet的抽取:java.lang.NoSuchMethodException: cn.itcast.travel.web.servlet.UserServlet.add(javax.s

    java.lang.NoSuchMethodException: cn.itcast.travel.web.servlet.UserServlet.add(javax.servlet.http.Htt ...

  2. 【坑2】java.lang.ClassCastException: cn.itcast.travel.web.servlet.CheckCodeServlet cannot be cast to ja

    java.lang.ClassCastException: cn.itcast.travel.web.servlet.CheckCodeServlet cannot be cast to javax. ...

  3. java中404什么意思_java web中关于404问题的根本来源与解决

    404问题对于刚刚接触web开发的新手朋友来说,算得上是头痛的问题.其实这个问题很简单.根本原因就是服务器找不到目标页面(或者说成找不到目web资源)而产生的.既然找不到资源,那么很大原因就是访问路径 ...

  4. java目前开发的背景_Java web 开发构想[一] 背景和形势

    [Java web 开发构想系列 转自JavaEye社区,在此申明] 1.背景.形势 能够进行Web开发的编程语言和技术很多 (1) 动态解释语言 PHP; Perl; Python (Zope, P ...

  5. java cookie 取不到_java中Servlet Cookie取不到值原因解决办法

    java中Servlet Cookie取不到值原因解决办法 现象: 在测试带Cookie的HTTP请求时发现,服务端用request.getHeader("cookie")可以去到 ...

  6. java开源框架有哪些_java web开发框架有哪些

    1 java web开发框架有哪些 java,互联网发展出来的产物,如今变成了屈指可数的几大编程语言之一,他的未来是不可限量的.因此很多人都想要学会这门技术,希望在以后能有他的一席之地.那么下面小编给 ...

  7. java wed登录面 代码_java web 登录界面

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标 ...

  8. java项目使用过滤器实例_Java web开发--过滤器篇(详细介绍)

    一. web过滤器的介绍 1.过滤器 在生活中,过滤这种我们时常可见:比如水资源的处理,化学药剂的提取等等.所谓过滤,就是指对某事物的处理进行一定的处理获取相应的结果的一个过程.它可以总结为下: 过滤 ...

  9. java wed登录面 代码_Java Web用户登录实例代码

    实现功能: 1.用户登陆.注销 2.利用session记录用户登陆信息 3.在JSP中展示已登陆用户信息 实现原理: 登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到sessio ...

  10. java图片上传下载_java web 文件上传与下载

    组件工作流程:WEB服务器request ServletFil eupLoad DiskFileItem Factory代表普通字段的FileItem代表上传文件1FileItem代表上传文件2Fil ...

最新文章

  1. 数据库中数据类型和约束(整数类型、字符串、时间类型)
  2. c#读写XML文件 (转)
  3. Nginx实现负载均衡时常用的分配服务器策略
  4. [置顶] C/C++超级大火锅
  5. Android 百度地图开发问题----解决地图有时候加载不出来问题
  6. [转载] 利用c/c++编写python模块
  7. NetBeans 时事通讯(刊号 # 80 - Nov 15, 2009)
  8. 两直线夹角求解-Python编程实现
  9. 使用bat脚本自动打开cmd并执行命令
  10. RFB Net 笔记
  11. openlayer添加自定义图片图层
  12. python实现嗅探
  13. 国内外酒店软件公司发展简介(转)
  14. app三种工具的元素定位与swipe 滑动
  15. 微信食堂就餐人数统计小程序开发,微信饭堂报餐人数,怎样统计公司每日就餐人数,就餐人数不固定如何统计,制作报餐微信小程序
  16. win10系统,点击连接校园网WLAN后,弹不出登录网页
  17. 基于Springboot的医院管理系统-JAVA【毕业设计、论文、源码、开题报告】
  18. u盘格式化后数据能恢复吗?如何1个方法做到u盘格式化数据恢复?
  19. 笨小孩投资理财-价值投资该看的书籍
  20. 2022跨境电商新战场:海外社交电商发展前景分析

热门文章

  1. 手把手带你从零开始完整开发经典游戏【俄罗斯方块】,全部逻辑只用不到200行代码。
  2. C#:办公用品管理软件项目总结
  3. lcx端口转发linux_LCX 端口重定向本质以及在linux下的实现
  4. 批量制作通知书会议邀请函等模板式文本并快速批量发送邮件
  5. 如何进行音频合并?很简单,只需三步骤
  6. echarts:中国地图-省市区二级联动
  7. 基于软件仿真的PLC系统测试技术
  8. 渗透测试工程师的Linux学习之路
  9. echar图形使用双Y轴(散点+折线)
  10. cpu性能天梯图包含服务器,服务器cpu性能天梯图