Java最全面试题->Java基础面试题->JavaEE面试题->Web应用服务器面试题

文章目录

  • Web应用服务器面试题
    • Tomcat是什么?
    • Tomcat缺省端口是多少,如何修改?
    • Tomcat 有那几种Connector 运行模式?
    • 什么是Servlet?
    • Servlet请求过程?
    • Tomcat执行流程?
    • Tomcat部署方式?
    • 什么是JBoss ?
    • 在JBoss 7中访问管理控制台的默认端口是什么?
    • 独立模式和域模式有什么区别?
    • <validate-on-match>和<background-validation>有什么区别?
    • 可用于标记文件部署的重要类型有哪些?
    • JBoss中可以部署哪些文件类型?
    • 什么是Jetty?
    • Jetty启动过程?
    • Jetty和Tomcat的区别?

Web应用服务器面试题

下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图
哪里不会点哪里
在这里插入图片描述

Tomcat是什么?

tomcat是一个web应用服务器。比如,我们写的项目打包成war包以后需要放到tomcat指定的目录下。在启动tomcat就可以访问。

Tomcat缺省端口是多少,如何修改?

  • Tomcat缺省端口是8080;
  • 修改tomcat 端口:
    1. 找到tomcat目录下的conf文件夹;
    2. 进入conf文件夹找到server.xml文件
    3. 在server.xml文件里面找到Connector 标签,把port=“8080”,改成需求端口即可。

Tomcat 有那几种Connector 运行模式?

  • BIO
  • NIO
  • AIO

什么是Servlet?

Servlet(Servlet Applet),全称Java Servlert 。是用Java编写的服务器端程序。其主要功能在与交互式的浏览和修改数据,生成动态Web内容。狭义的servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet的类,一般情况下,人们将Servlet理解为后者。比如HttpServlet类继承自Servlet类,可以利用继承Http Servlet 来实现Http请求,当不是Http请求的时候,也可以定义其他形式的Servlet。

Servlet请求过程?

  • Tomcat容器中通过web.xml加载所有的Servlet。
  • 用户在浏览器输入不同的地址,向Tomcat容器请求资源。
  • Tomcat容器根据地址首先在容器内找到应用ServletTest。
  • Tomcat容器再根据地址去web.xml找到相应的servlet地址。
  • Tomcat容器根据找到的servlet地址去web.xml找到相应的Servlet类,并实例化。
  • Tomcat容器实例化相应的Servlet,首先调用init方法。
  • Tomcat容器实例化相应的Servlet,首先调用service方法处理用户请求,比如post或者是get。
  • Servlet处理完成之后,先将数据给Tomcat容器,Tomcat容器再把处理结果给浏览器客户端。
  • Tomcat容器调用servlet实例的destory方法销毁这个实例。

Tomcat执行流程?

  1. 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
  2. Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
  3. Engine获得请求localhost/项目/页面.jsp,匹配它所拥有的所有虚拟主机Host
  4. Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
  5. localhost Host获得请求/项目/页面.jsp,匹配它所拥有的所有Context
  6. Host匹配到路径为/项目的Context(如果匹配不到就把该请求交给路径名为””的Context去处理)
  7. path="/项目"的Context获得请求/页面.jsp,在它的mapping table中寻找对应的servlet
  8. Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
  9. 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
  10. Context把执行完了之后的HttpServletResponse对象返回给Host
  11. Host把HttpServletResponse对象返回给Engine
  12. Engine把HttpServletResponse对象返回给Connector
  13. Connector把HttpServletResponse对象返回给客户browser

Tomcat部署方式?

  1. 直接把Web项目放在webapps下,Tomcat会自动将其部署
  2. 在server.xml文件上配置\节点,设置相关的属性即可
  3. 通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。

什么是JBoss ?

JBoss 是一个基于J2EE的开放源代码的应用服务器

在JBoss 7中访问管理控制台的默认端口是什么?

默认端口为9990

独立模式和域模式有什么区别?

独立模式是单个JVM进程, 其中每个JBoss服务器都有其配置。如果你只需要一个JVM或开发环境, 那么独立运行将是完美的选择。
域模式可能具有多个服务器, 其中所有配置都集中管理, 并且经常在生产环境中使用。

和有什么区别?

  • 每次都验证数据库连接, 如果连接无效, 它将在日志中写警告。
  • 配置”匹配时验证”可能会给数据库带来一些高负载, 因为它可能会创建很多请求。
  • 根据为"background-validation-millis"配置的频率定期验证连接。默认配置设置为零表示禁用。
  • 将"background-validation"设置为true将会创建更少的数据库连接, 并且如果连接失效, 它的副作用将无法立即检测到。

可用于标记文件部署的重要类型有哪些?

  • .dodeploy –指示部署
  • .deployed –表示文件已部署
  • .pending –部署仍在等待中
  • .undeployed-确认应用程序已取消部署
  • .failed –由于某种原因部署失败
  • .skipdeploy –指示JBoss忽略文件以进行自动部署

JBoss中可以部署哪些文件类型?

  • WAR – Web应用程序档案
  • SAR –服务档案
  • JAR – Java存档
  • EAR –企业应用程序档案

什么是Jetty?

Jetty是一个提供HTTP服务器、HTTP客户端和javax.servlet容器的开源项目

Jetty启动过程?

首先启动设置到Server的Handler
这些Handler将组成一个Handler链
Server会启动链上所有的Handler
启动Connector,打开端口,接受客户端请求。

Jetty和Tomcat的区别?

  • 架构
    Jetty的架构比Tomcat的更为简单 Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。Tomcat的架构是基于容器设计的,进行扩展是需要了解Tomcat的整体设计结构,不易扩展。
  • 性能
    Jetty和Tomcat性能方面差异不大 Jetty可以同时处理大量连接而且可以长时间保持连接,适合于web聊天应用等等。Jetty的架构简单,因此作为服务器,Jetty可以按需加载组件,减少不需要的组件,减少了服务器内存开销,从而提高服务器性能。Jetty默认采用NIO结束在处理I/O请求上更占优势,在处理静态资源时,性能较高
  • 处理能力
    Tomcat适合处理少数非常繁忙的链接,也就是说链接生命周期短的话,Tomcat的总体性能更高。Tomcat默认采用BIO处理I/O请求,在处理静态资源时,性能较差。
  • 其它
    Jetty的应用更加快速,修改简单,对新的Servlet规范的支持较好。Tomcat目前应用比较广泛,对JavaEE和Servlet的支持更加全面,很多特性会直接集成进来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA搭建PCIE3.0通信架构简单读写测试,基于XDMA中断模式,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案本博客方案的PCIE2.0版本 3、PCIE基础知识4、工程详细设计方案工程设计原理框图XDMA配置及使用XDMA中断模块数据缓存架构用户逻辑Windows版本XDMA驱动安装Linux版本XDMA驱动安装测试应用程序工程源码架构PCIE上板…

实测体验Claude 3.5升级版:AI首次实现直接操控电脑!

前言 就在10月22日晚上&#xff0c;Anthropic发布重大升级&#xff0c;发布Claude 3.5 Sonnet和Claude 3.5 Haiku新版本。 新的 Claude 3.5 Sonnet 在所有指标上都优于其他模型&#xff0c;包括 OpenAI 的 GPT-4 和谷歌的 Gemini 1.5 Pro。 Claude 3.5 Haiku 与之前的顶级 C…

【C++开篇】

首先初阶的数据结构相信大家已经学习的差不多了&#xff0c;关于初阶数据结构排序的相关内容的总结随后我也会给大家分享出来。C语言和C有许多相同的地方&#xff0c;但也有许多不相同的地方。接下来的C部分&#xff0c;我们主要是针对C与C语言不同的地方来与大家进行分享。其中…

gin入门教程(7): 使用 Logrus + Lumberjack 创建日志中间件

结合 Logrus 和 Lumberjack&#xff0c;可以创建一个高效的日志中间件&#xff0c;用于记录请求和响应。以下是实现步骤&#xff1a; 1. 安装依赖 首先&#xff0c;确保安装了 Logrus 和 Lumberjack&#xff1a; go get github.com/sirupsen/logrus go get gopkg.in/natefin…

基于vite和vue3、 eslint、prettier、stylelint、husky规范

前言 在现代的前端开发中&#xff0c;代码规范非常重要。它可以提高团队的协作效率&#xff0c;减少代码错误&#xff0c;使代码更易于维护。为了实现代码规范化&#xff0c;我们可以使用一些工具来辅助我们的开发流程&#xff0c;包括eslint、prettier、stylelint、husky&am…

word中的内容旋转90度

在vsto、Aspose.Words 中&#xff0c;默认没有直接的 API 可以让表格整体旋转 90 度。然而&#xff0c;我们可以通过一些方式来实现类似的效果&#xff0c;具体思路如下&#xff1a; 将表格插入到一个形状&#xff08;Shape&#xff09;或文本框中&#xff0c;然后旋转该形状。…

DVD光盘解密工具 Xreveal v2.7.1 官方版

下载地址 【1】https://pan.quark.cn/s/a95d5fa38f48 【2】https://drive.uc.cn/s/1e81ba7ee01e4?public1 Xreveal是一款功能相当贴心给力的光碟工具&#xff0c;其功能可以帮助用户检测以及删除DVD、CD保护。它完全不含有任何的解密密钥以及BD转换表&#xff0c;它是基于官…

【Windows】电脑端口明明没有进程占用但显示端口被占用(动态端口)

TOC 一、问题 重启电脑后&#xff0c;启用某个服务显示1089端口被占用。 查看是哪个进程占用了&#xff1a; netstat -aon | findstr "1089"没有输出&#xff0c;但是换其他端口&#xff0c;是可以看到相关进程的&#xff1a; 现在最简单的方式是给我的服务指定另…

阿里云项目启动OOM问题解决

问题描述 随着项目业务的增长&#xff0c;系统启动时内存紧张&#xff0c;每次第一次启动的时候就会出现oom第二次或者第n的时候&#xff0c;就启动成功了。 带着这个疑问&#xff0c;我就在阿里云上提交了工单&#xff0c;咨询为什么第一次提交失败但是后面却能提交成功尼&a…

HarmonyOS 组件样式@Style 、 @Extend、自定义扩展(AttributeModifier、AttributeUpdater)

1. HarmonyOS Style 、 Extend、自定义扩展&#xff08;AttributeModifier、AttributeUpdater&#xff09; Styles装饰器&#xff1a;定义组件重用样式   ;Extend装饰器&#xff1a;定义扩展组件样式   自定义扩展&#xff1a;AttributeModifier、AttributeUpdater 1.1. 区…

SpringBoot 下的Excel文件损坏与内容乱码问题

序言 随着打包部署的方式的改变&#xff0c;原本正常运行的代码可能带来一些新的问题&#xff0c;比如我们现在使用SpringBoot 的方式生成Jar包直接运行&#xff0c;就会对我们再在Resource下的Excel文件产生影响&#xff0c;导入与预期不符的情况发生cuiyaonan2000163.com 比…

Anchor DETR论文笔记

原文链接 [2109.07107] Anchor DETR: Query Design for Transformer-Based Object Detection (arxiv.org)https://arxiv.org/abs/2109.07107 原文笔记 What 提出了一种新的基于锚点的查询设计&#xff0c;即将锚点编码为对象查询。 Why 对象检测任务是预测图像中每个对象…

el-table相关的功能实现

1. 表格嵌套表格时&#xff0c;隐藏父表格的全选框 场景&#xff1a;当table表格设置复选&#xff08;多选&#xff09;功能时&#xff0c;如何隐藏表头的复选框&#xff0c;不让用户一键多选。 <el-table :header-cell-class-name"cellClass">// 表头复选框禁…

机器视觉-相机、镜头、光源(总结)

目录 1、机器视觉光源概述 2、光源的作用 3、光谱 4、工业场景常见光源 4.1、白炽灯 4.2、卤素灯 4.3、 荧光灯 4.4、LED灯 4.5、激光灯 5、光源的基本性能 5.1、光通量 5.2、光效率 5.3、发光强度 5.4、光照度 5.5、均匀性 5.6、色温 5.7、显色性 6、基本光学…

【Linux | 网络I/O模型】五种网络I/O模型详解

1、数据传输过程 在 Linux 系统中&#xff0c;数据传输是通过 I/O 操作来实现的。I/O 操作是指数据从应用程序到内核&#xff0c;再到硬件设备&#xff08;如磁盘、网络接口&#xff09;的过程。 操作系统为了保护自己&#xff0c;设计了用户态、内核态两个状态。应用程序一般工…

基于云平台的智能家居管理系统设计与通信协议分析

案例 阅读以下关于 Web 系统架构设计的教述&#xff0c;在答题纸上回答问题1至问题3。 【说明】 某公司拟开发一个智能家居管理系统&#xff0c;该系统的主要功能需求如下: 1)用户可使用该系统客户端实现对家居设备的控制&#xff0c;且家居设备可向客户端反馈实时状态&#x…

Redis 线程控制 总结

前言 相关系列 《Redis & 目录》&#xff08;持续更新&#xff09;《Redis & 线程控制 & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Redis & 线程控制 & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Redis &a…

JavaScript part2

一.前言 前面我们讲了一下js的基础语法&#xff0c;但是这些还是远远不够的&#xff0c;我们要想操作标签&#xff0c;实现一个动态且好看的页面&#xff0c;就得学会BOM和DOM&#xff0c;这些都是浏览器和页面的&#xff0c;这样我们才能实现一个好看的页面 二.BOM对象 BOM…

Radar Fields: Frequency-Space Neural Scene Representations for FMCW Radar 笔记

Code 主要思想 文章提出了一种新的神经场表示方法——Radar Fields&#xff0c;用于从FMCW&#xff08;调频连续波&#xff09;雷达数据中恢复场景几何信息。与以往的依赖于光学成像&#xff08;如RGB相机和LiDAR&#xff09;的神经场方法不同&#xff0c;该研究利用了雷达的…

高级网络互联技术:AS3001与AS3000的路由交换方案

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…