做一个中英文双语网站建设多少钱,wordpress评论表单获取qq,网站底部怎么修改,怎么用nat做网站1、Tomcat的架构 这里可以看出
A、一个Tomcat就是一个Server#xff0c;一个Server下会有多个Service#xff0c;
B、Service只负责封装多个Connector和一个Container#xff08;Service本身不是容器#xff0c;可以看做只是用来包装Connector和Container的壳#xff0c…1、Tomcat的架构 这里可以看出
A、一个Tomcat就是一个Server一个Server下会有多个Service
B、Service只负责封装多个Connector和一个ContainerService本身不是容器可以看做只是用来包装Connector和Container的壳不负责具体功能。
C、Connector主要负责处理与客户端的通信Connector的实例用于监听端口接受来自客户端的请求并将请求转交给Container也叫engine处理。同时将来自Container也叫engine的答复返回给客户端。
C、Container也叫engine下又有多个Host每个Host下对应多个Context。
D、Context下才是我们的Servlet。
Tomcat为了使整个架构灵活所以抽象出这么多层每层之间都可以根据不同的维度产生一对多个配置。
对于Container也叫engine再在下图理解一下hostcontext和wrapper。 Engine 引擎用来管理多个站点 一个Service 最多只能有一个Engine。Host 代表一个站点也可以叫虚拟主机通过配置Host 就可以添加站点。Context 代表一个应用程序对应着平时开发的一套程序或者一个WEB-INF 目录以及下面的web.xml 文件。Wrapper 每个Wrapper 封装着一个servlet。
Context 和Host 的区别是Context 表示一个应用比如默认配置下webapps 下的每个目录都是一个应用其中ROOT目录中存放着主应用其他目录存放着别的子应用而整个webapps 是一个站点。假如www.excelib.com 域名对应着webapps 目录所代表的站点其中的ROOT 目录里的应用就是主应用访问时直接使用域名就可以而webapps/test 目录存放的是test 子应用访问时需要www.host3.com/test 每一个应用对应一个Context 所有webapps 下的应用都属于www.host3.com 站点而www.host3.com 则是另外一个站点属于另外一个Host。
有了基本理解后我们在打开tomcat/config目录下的server.xml文件如下 默认的server.xml里面理解为host为localhost对应着webapps目录看到里面标签页就可以看到基本的构成层次。
2、Tomcat运行流程 假设来自客户的请求为http://localhost:8080/test/index.jsp
请求被发送到本机端口8080被在那里侦听的Coyote HTTP/1.1 Connector获得Connector把该请求交给它所在的Service的Engine来处理并等待Engine的回应Engine获得请求localhost:8080/test/index.jsp匹配它所有虚拟主机HostEngine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理因为该Host被定义为该Engine的默认主机)localhost Host获得请求/test/index.jsp匹配它所拥有的所有ContextHost匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为的Context去处理)path/test的Context获得请求/index.jsp在它的mapping table中寻找对应的servletContext匹配到URL PATTERN为*.jsp的servlet对应于JspServlet类构造HttpServletRequest对象和HttpServletResponse对象作为参数调用JspServlet的doGet或doPost方法Context把执行完了之后的HttpServletResponse对象返回给HostHost把HttpServletResponse对象返回给EngineEngine把HttpServletResponse对象返回给ConnectorConnector把HttpServletResponse对象返回给客户browser
参考资料
https://blog.csdn.net/caoyuanyenang/article/details/114401414
https://blog.csdn.net/gchd19921992/article/details/79071288
https://blog.csdn.net/chengc017/article/details/7090132/