首页 > 后端开发 > 正文

什么是servlet容器

2024-03-21 06:30:04 | 我爱编程网

今天我爱编程网小编整理了什么是servlet容器相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

什么是servlet容器

什么是servlet容器

容器就是你的程序运行时需要的环境,具体如下:

Tomcat是Servlet的运行环境,即一个Servlet容器。

Servlet容器的作用是负责处理客户请求,当客户请求来到时,Servlet容器获取请求,然后调用某个Servlet,并把Servlet的执行结果返回给客户。

Servlet容器的工作过程是:当客户请求某个资源时,Servlet容器使用ServletRequest对象把客户的请求信息封装起来,然后调用java Servlet API中定义的Servlet的一些生命周期方法,完成Servlet的执行,接着把Servlet执行的要返回给客户的结果封装到 ServletResponse对象中,最后Servlet容器把客户的请求发送给客户,完成为客户的一次服务过程。

每一个Servlet的类都执行 init()、service()、destory()三个函数的自动调用,在启动时调用一次init()函数用以进行参数的初始化,在服务期间每当接收到对该Servlet的请求时都会调用Service()函数执行该Servlet的服务操作,当容器销毁时调用一次destory()函数。

典型的Servlet应用是监听器、过滤器的实现。

拓展资料:

JSP运行原理:当Web服务器上的JSP页面第一次被请求执行时,JSP引擎先将JSP页面文件转译成一个Java文件,即Servlet,Java Servlet是基于服务器端编程的API,用Java Servlet编写的Java程序称为servlet,servlet通过HTML与客户交互。

服务器将前面转译成的Java文件编译成字节码文件,再执行这个字节码文件来响应客户的请求。当这个JSP页面再次被请求时,只要该JSP文件没有被改动,JSP引擎就直接调用已装载的Servlet。

什么是servlet容器

java的容器有哪些

JAVA的容器包括如下:

List,Map,Set ,Collection ,List ,LinkedList ,ArrayList ,Vector ,Stack ,Set

Map ,Hashtable ,HashMap ,WeakHashMap

数据容器主要分为了两类:

Collection: 存放独立元素的序列。

Map:存放key-value型的元素对。(这对于需要利用key查找value的程序十分的重要!)

从类体系图中可以看出,Collection定义了Collection类型数据的最基本、最共性的功能接口,而List对该接口进行了拓展。

其中各个类的适用场景有很大的差别,在使用时,应该根据需要灵活的进行选择。此处介绍最为常用的四个容器:

LinkedList :其数据结构采用的是链表,此种结构的优势是删除和添加的效率很高,但随机访问元素时效率较ArrayList类低。

ArrayList:其数据结构采用的是线性表,此种结构的优势是访问和查询十分方便,但添加和删除的时候效率很低。

HashSet: Set类不允许其中存在重复的元素(集),无法添加一个重复的元素(Set中已经存在)。HashSet利用Hash函数进行了查询效率上的优化,其contain()方法经常被使用,以用于判断相关元素是否已经被添加过。

HashMap: 提供了key-value的键值对数据存储机制,可以十分方便的通过键值查找相应的元素,而且通过Hash散列机制,查找十分的方便。

什么是servlet容器

Java Web应用开发中的一些概念

我爱编程网(https://www.52biancheng.com)小编还为大家带来Java Web应用开发中的一些概念的相关内容。

概念一直是学习计算机软件开发中经常遇到的问题 也是软件行业最喜欢创造的东西 很多时候 学习计算机软件开发遇到困难都是因为对某些概念的不理解 而不是因为技术本身有多么复杂 Java Web作为Java EE技术体系的一部分 应该是目前所有Web开发技术中最复杂的一种 很多初学者 或者是从ASP PHP转移过来的开发者都会遇到概念方面的困难

其实很多概念都是非产简单的 只是因为厂家为了宣传需要 将概念复杂化 学术化 导致学习者觉得这些概念非常深奥 难以理解 在这里 我们首先去澄清Java Web开发中几个常用的基本概念 当然理解这些概念的前提是需要你具备一定的计算机系统 面向对象等方面基础知识

Web容器

所有的程序运行都需要有一个必要的运行环境 这个环境可以是软件 也可以是硬件 或者是软件和硬件的结合 比如说Windows操作系统需要运行在硬件基础上 Office软件需要运行在操作系统上 并且程序与运行环境之间会有一定的数据交换 比如操作系统会将运行指令传递给硬件 硬件也会将指令运行结果传递给操作系统 Java Web程序也需要一个运行环境才能够执行 这种运行Java Web程序的环境被称为Web容器 Java Web程序与Web容器之间存在数据交互 目前主要存在两种类型的Java Web容器 一种是独立的Java Web容器 在这种容器里面只能运行Web程序 这种容器一般也叫做Web服务器 如Tomcat等 另一种是与其他Java EE容器混合在一起的Web容器 Web容器负责运行Web程序 其他容器负责运行EJB等程序 如WebLogic等

当用户通过浏览器等Web客户端软件向服务器发出一个请求之后 首先接收到这个请求的是Web容器 Web容器会将请求信息封装到一个HttpServletRequest类型的Java对象中 并将对象传递给Java Web程序 对于每个请求 Web容器还会创建一个HttpServletResponse类型对象 该对象的作用是用来保存需要返回到浏览器等客户端的内容 Java Web程序可以从HttpServletRequest提取用户发出的请求信息 进行适当的处理之后 将处理结果放置到HttpServletResponse中 然或由Web容器解析HttpServletResponse对象内容 并将解析结果以浏览器能够识别的HTML等格式返回给浏览器等客户端 在这个过程中 HttpServletRequest和HttpServletResponse就如同两条渡船 负责在Web容器和Java Web程序之间传递信息 需要注意的是 这两个对象仅存在于Web容器和Java Web程序当中 与浏览器没有关系 下图是这个过程的示意图

Web应用

Web应用 可以认为是Web程序的另一个名称 缺的的定义就是运行在Web容器当中的 能够完成完整功能的应用程序 Java Web应用由一系列编译之后的Java类 静态图片 静态HTML文件 配置文件等构成 通过Java Web应用可以就收用户的输入和请求 并对请求信息进行加工处理 访问数据库 对用户的请求给出回应 开发Java Web应用程序处理需要遵守Web应用的一些特殊规范要求以外 与开发其他类型的应用程序并没有本质区别 目前Web应用主要有两种类型 一种是以展示为目的的Web应用 这种应用会以HTML等标记文本或者浏览器所能识别的媒体格式最为请求返回内容 用户可以通过浏览器等客户端操作这类应用 另一类是以服务为目的的Web应用 这类应用不提供图形操作界面 只提供方法调用结构 比如Web服务 该类应用一般只能被其他应用程序调用和访问

Web元件

Web元件是构成Web应用 能够对来自浏览器等客户端请求做出回应的基本单元 在Java Web应用中 所提供的Web元件有Servlet JavaServer Pages(JSP) JavaServer Faces(JSF)等 另外还可以使用其他类型Web应用同样使用的内容 比如HTML文件 静态图片等 事实上Java Web只提供了一种Web元件元件 就是Servlet JSP JSF等都是基于Servlet的衍生技术 Servlet实质就是一个有特殊继承关系要求的Java类 理解Servlet就基本上完全理解Java Web技术了

Web模块

在Java EE技术体系中 除了Java Web以外 还包括EJB等其他技术 每个技术体系会运行在各自的容器当中 不同的部分组合在一起构成完整的Java EE应用 每个部分根据自己的特点被称为Java Web模块或者EJB模块 之所以把他们称为模块 是因为希望Java EE应用不同部分能像积木一样组合出更大 更复杂的应用出来 并且每个部分保证其独立性 不同的模块都有自己特定的目录结构要求 Java Web模块的目录结构要求如下

◆应用文档根目录 改目录是Java Web模块的最上层目录 组成Web模块的所有Web元件以及配置文件等都包含在该目录或者子目录下 在改目录下可以直接存放HTML文件 图片文件等

◆WEB INF目录 改目录位于应用文档根目录下 用来保存那些不希望被浏览器等客户端访问的文件 比如发布描述文件 编译之后的类文件 因为这些文件是由由Web容器进行解释或者执行的 浏览器不可以直接看到这些文件 只能看到这些文件的执行结果

◆web xml文件 该文件位于WEB INF目录下 是Web应用的部署描述文件 用来与定义Web应用运行相关的信息 比如执行逻辑 Servlet等Web元件的访问路径等 改文件的格式必须符合所使用的Servlet版本的规格要求

◆classes目录 该目录位于WEB INF目录下 用来保存编译之后的Java类文件 比如Servlet 辅助类 其他业务处理类等

◆tags目录 该目录位于WEB INF目录下 用来保存那些标签库的标签描述文件

◆lib目录 该目录位于WEB INF目录下 用来保存Web应用运行所依赖的 经过打包之后的Java类文件 打包格式一般是 jar格式我爱编程网

对于Java Web模块目录中WEB INF web xml classes tags lib这些内容以外 用户可以根据自己的需要在Web应用文档根目录下创建其他目录 比如可以为图片 不同用途的HTML或者JSP单独创建目录 还可以为不用的Java类在classes下创建包目录 如果在你的Web应用中没有使用到Servlet 过滤器 监听器等Java Web元件 可以没有web xml文件 如果没有使用到标签 则可以没有tags目录

Web模块的发布工作 可以直接以目录的形式发布 也可以打包成jar格式文件进行发布 因为用途和内容的特殊性 打包文件的扩展名会采用 war而不是 jar 另外如果不是发布到独立的Web服务器上 而是发布到与其他Java EE一起使用的企业应用服务器上 还需要编写一个与企业应用服务器相关的配置文件 这个文件对于不同的企业应用服务器也不同 比如发布到glassfish服务器上 需要编写的文件时sun web xml

lishixinzhi/Article/program/Java/hx/201311/26761

以上就是什么是servlet容器全部内容,更多相关信息,敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“什么是servlet容器”相关推荐
termux可以同时运行多少个容器
termux可以同时运行多少个容器

python安卓安卓运行python如何在安卓手机上编程Python代码并运行?1、在安卓手机上安装Termux。Termux是安卓手机中较高级的终端模拟器,不仅开源,而且不需要root,支持apt的管理软件包,能够十分方便地安装软件包。下载方式直接搜索Termux即可,简单方便。2、成功安装后,点击Termux运行,并开始编程。安装Termux之后,可以在手机桌面看到该软件,

2024-03-22 02:37:23
PHP学习什么内容?
PHP学习什么内容?

PHP学习什么内容?学习PHP基本语法。1.学习hello,world,每个人的程序生涯好像都是从这句话开始的。2嵌入方法,程序注释的学习3常量与变量的学习4。基本的运算符号如:算术运算,字符串运算,赋值运算,逻辑运算等。5PHP的流程控制,if..else循环;do..while;for循环等6函数和类的学习。学习PHP基本语法。1.学习h

2024-11-19 05:11:02
PHP教程:php抓取https的内容介绍_PHP教程:php抓取https的内容是什么
PHP教程:php抓取https的内容介绍_PHP教程:php抓取https的内容是什么

PHP抓取网页内容的几个函数获取所有内容url保存到文件functionget_index($save_file,$prefix="index_"){$count=68;$i=1;if(file_exists($save_file))@unlink($save_file);$fp=fopen($save_file,"a+")ordie("Open".$save_file."fai

2025-01-23 00:55:49
php 中 这个函数microtime(1) 具体输出内容是什么?
php 中 这个函数microtime(1) 具体输出内容是什么?

PHP中编写一个函数找出k以内最大的10个不足10个则是所有能被13整除但是不能被17整除的自然数?可以使用range函数来创建一个包含指定范围内的整数序列的数组,然后使用array_filter函数来过滤数组中满足特定条件的元素,最后使用array_slice函数来从数组中取出前10个元素。示例代码如下:==============functiongetNumbers($k){

2025-02-14 12:27:29
手机有什么python编译器
手机有什么python编译器

手机有什么python编译器现在越来越多人学习python,很多小伙伴都富有激情的,利用碎片化的时间都要学习,大家都知道pyhton是简单易学的,但是光说不练,假把式,最好能编程并且运行,最好能有一款在手机上可以随时随地编写python代码,而且功能齐全的app。下面为大家列举几种,我知道的手机上的python编辑器。(推荐学习:Python视频教程)Android系统:Pyt

2024-01-02 09:09:03
少儿编程学习有什么内容?
少儿编程学习有什么内容?

少儿编程学习有什么内容?学习内容1、动手协调能力。2、基本认知,和一些常识。3、提前熟悉一些机构的用处。4、基础逻辑思想。少儿编程教育是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力的课程。一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训。根据先易后难的学习进程,少儿编

2024-02-02 13:41:44
Python培训课程内容都有什么?
Python培训课程内容都有什么?

Python培训课程内容都有什么?下面是Python全栈开发+人工智能的学习内容:阶段一:Python开发基础Python全栈开发与人工智能之Python开发基础知识学习内容包括:Python基础语法、数据类型、字符编码、文件操作、函数、装饰器、迭代器、内置方法、常用模块等。阶段二:Python高级编程和数据库开发Python全栈开发与人工智能之Python高级编程和数据库开

2024-02-08 21:02:23
Python pyecharts 是怎么自定义提示框内容?
Python pyecharts 是怎么自定义提示框内容?

Pythonpyecharts是怎么自定义提示框内容?classpyecharts.options.TooltipOpts#标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用\n换行。#字符串模板模板变量有:#{a}:系列名。#{b}:数据名。#{c}:数据值。#{@xxx}:数据中名为'xxx'的维度的值,如{@pro

2024-01-13 09:07:44