首页 > 编程语言 >JavaWeb技术栈图(web服务器+web容器是何物)

JavaWeb技术栈图(web服务器+web容器是何物)

时间:2023-04-12 19:46:45浏览次数:35  
标签:Web 容器 栈图 JavaWeb web servlet 服务器 Servlet

JavaWeb技术栈图(web服务器+web容器是何物)

image-20230406221105785

两个重要概念web服务器+web容器

什么是Web服务器?

Tomcat 服务器就是一个免费的开放源代码的 Web 应用服务器

web服务实际上就是解析了客户端/浏览器发来的http请求,并将其做出一定的处理。比如说将请求头和请求体中的各个元素拆开打包成一个对象,从而供后端(容器)调用API获取。

什么是web 容器?

WEB 容器给处于其中的应用程序组件(jsp,servlet)提供一个环境,使 jsp,servlet 直接跟容器中的环境变量交互,不必关注其它系统问题(从这个角度来说,web 容器应该属于架构上的概念)。web 容器主要 WEB 服务器来实现。例如:Tomcat,weblogic

WEB 容器更多的是跟基于 HTTP 的请求打交道,比如说tomcat里的容器就利用了dom4j读取web.xml的各个元素,并放入一个大的类似HashMap里,从而可以通过HTTP的URI获取到相应的servlet的全类名,从而通过反射机制获取URI所对应的servlet对象,实现servlet其中的业务逻辑。

应用程序服务器(The Application Server)

根据定义,作为应用程序服务器,要求可以通过各种协议(比如HTTP 协议)把商业逻辑暴露给客户端应用程序。应用程序使用此商业逻辑就像你调用对象的一个方法一样。

【serverlet】

Servlet(Server Applet),全称 Java Servlet,未有中文译文。是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。

Servlet 运行于支持 Java 的应用服务器中。从实现上讲,Servlet 可以响应任何类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服务器。

【Tomcat】

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。

标签:Web,容器,栈图,JavaWeb,web,servlet,服务器,Servlet
From: https://www.cnblogs.com/hanlinyuan/p/17310988.html

相关文章

  • JavaWeb之Servlet详解(以及浏览器调用 Servlet 流程分析图)
    Servlet1.什么是ServletServlet(java服务器小程序)他是由服务器端调用和执行的(一句话:是Tomcat解析和执行)他是用java语言编写的,本质就是Java类他是按照Servlet规范开发的(除了tomcat->Servletweblogic->Servlet)功能强大,可以完成几乎所有的网站功能2.开发......
  • JavaWeb中Servlet、web应用和web站点的路径细节("/"究竟代表着什么)
    JavaWeb中Servlet、web应用和web站点的路径细节("/"究竟代表着什么) 1开门见山新建一个tomcatweb项目,配置tomcat的虚拟目录,取默认值(/项目名_war_exploded)那么如果你的tomcat的默认站点(即http://localhost:8080)没有更改的话,这个项目的两个重要的根目录就出来了web站点根目......
  • javaweb-学习创建servlet
    Servlet创建、声明、映射,利⽤ServletContext统计⼀个⽹站的访问总量。1)、创建一个servelet选择要用到的方法2)、编辑serveletpackagecom.cont;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletContext;importjavax.servlet.Ser......
  • web前端tips:使用 forEach 循环中的 return 语句会发生什么?
    近日,笔者在认真搬砖的过程中,突然遇到一个问题,请看大屏幕(代码):data(){return{statusList:[{code:"1",name:"已保存"},{code:"2",name:"已提交"}]......
  • 分享15个对Web开发人员有用的高效工具网站
    1.代码转图片网址:https://carbon.now.sh/使用Carbon创建和分享源代码的精美图像。它提供了多种代码风格和主题。2.JavaScript正则表达式可视化工具网址:https://jex.im/regulex/#!flags=&re=%5E(a%7Cb)*%3F%24   你是那种因为看起来复杂而不想学习正则表达式的人吗......
  • C#中HttpWebRequest的用法详解
    1、HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择。2、命名空间:System.Net3、HttpWebRequest对象不是利用new关键字创建的(通过构造函数)。 而是利用Create()方法创建的。4、你可能预计需要显示地调用一个“Send”方法,实际上不需要。5、调用HttpWebRe......
  • 快速搭建一个go语言web后端服务脚手架
    快速搭建一个go语言web后端服务脚手架源码:https://github.com/weloe/go-web-demoweb框架使用gin,数据操作使用gorm,访问控制使用casbin首先添加一下自定义的middlewarerecover_control.go,统一处理panicerror返回的信息packagemiddlewareimport( "fmt" "github.com/gin-......
  • Asp.NetWebApi跨域解决方案
    最近新开项目,项目初期本地部署访问webapi,api采用JWT验证,发现加上Authorization请求头后就报跨域问题,网上很多方案例如修改webconfig请求头什么的,均测试未果,多方尝试后有了以下方案,一行代码便完全解决跨域问题,特此记录!1、NuGet下载Microsoft.AspNet.WebApi.Cors  2、App_Sta......
  • vue项目通过外部配置文件读取接口地址- 在webpack-index.html模板中使用环境变量
    概述:在index.html模板中判断当前环境,处于开发环境下时读取process环境变量、处于生产环境下时读取根目录配置文件(./config.js),两种环境下将配置统一挂载到window全局变量上(SET_CONFIG)config.jswindow.SITE_CONFIG={appTitle:'系统测试',version:'1.0.0',apiURL:''......
  • VMware ESXi6.7服务器,确认用户名密码正确,但是web管理界面无法正常登陆
    VMwareESXi6.7服务器,确认用户名密码正确,但是web管理界面无法正常登陆。修改完成密码后,连接显示器键盘,操作没有问题。但是远程通过web管理界面访问时,提示:“由于用户名火密码不正确,无法完成登陆”确认用户名密码没错,连接显示器键盘,操作没有问题。 需要restartmanagementage......