Java最全面试题->Java根本面试题->JavaEE面试题->Web应用服务器面试题 ...

打印 上一主题 下一主题

主题 981|帖子 981|积分 2943

Web应用服务器面试题

下边是我自己整理的面试题,根本已经很全面了,想要的可以私信我,我会不定期去更新头脑导图
那里不会点那里

Tomcat是什么?

  1. tomcat是一个web应用服务器。比如,我们写的项目打包成war包以后需要放到tomcat指定的目录下。在启动tomcat就可以访问。
复制代码
Tomcat缺省端口是多少,如何修改?



  • Tomcat缺省端口是8080;
  • 修改tomcat 端口:

    • 找到tomcat目录下的conf文件夹;
    • 进入conf文件夹找到server.xml文件
    • 在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执行流程?


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


  • 直接把Web项目放在webapps下,Tomcat会自动将其部署
  • 在server.xml文件上设置\节点,设置相关的属性即可
  • 通过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的支持更加全面,很多特性会直接集成进来。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表