天天看点

tomcat(一)java技术体系和tomcat架构tomcat(一)

tomcat(一)

一、java技术体系

1、java体系结构

  • Java编程语言
  • Java类文件:java类文件为java编译后的文件
  • JavaAPI:java类文件库
  • JavaVM(JVM)
    • class loader:编译和类库文件加载器
    • 执行引擎

2、JVM执行引擎的结构

  • 方法区
  • 堆:jvm管理区域中内存中最大的一部分,也是GC管理的主要区域,主流的算法都基于分代收集方式进行,新生代和老年代,线程共享
  • Java栈:线程私有,存放线程自己的局部变量信息
  • PC寄存器:线程独占的内存空间。
  • 本地方法栈

3、java程序编译运行的条件

  • .java的文件编译成为.class的类文件
  • 类文件需要符合jdk虚拟机运行标准
  • 编译的类文件和java本身提供的类库文件都会统一送到jvm上运行
  • jvm加载类文件后会使用本身用c语言编写的执行引擎将java运行在服务器环境

3、运行jsp的web容器

jsp技术将java代码嵌入html文件中,建立了一种动态网页的编写标准,它的技术基础是serverlet技术,当用户请求一个jsp文件时,jsp会讲代码转换成serverlet(即标准的java代码),java代码再交由低层的jdk执行。商用的容器最常见的有websphere,weblogic。

tomcat

一、tomcat简介

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

诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat 实际上运行JSP页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器.

二、tomcat核心组件

1、tomcat服务器的架构示意图

tomcat(一)java技术体系和tomcat架构tomcat(一)

2、组件

  • service:一个server中至少包含一个service,用于提供具体服务,而service包含了核心的两个组件,Connector(可以有多个)和Container(只能有一个)。
  • Connector:用于处理连接相关的事情,并提供Socket与Request和Response相关的转化(接收请求并解析;将运行结果构成响应报文)一个Connector不能服务于多个Container。
  • Container:Container用于封装和管理Servlet,以及具体处理Request请求
    • Engine:用于管理多个站点
    • host:虚拟主机
    • Context:代表一个应用程序,对应着平时开发的一套程序,或者一个WEB-INF目录以及下面的web.xml文件
    • Wrapper:每一Wrapper封装着一个Servlet,来运行java代码
      tomcat(一)java技术体系和tomcat架构tomcat(一)

Context和Host的区别是Context表示一个应用,我们的Tomcat中默认的配置下webapps下的每一个文件夹目录都是一个Context,其中ROOT目录中存放着主应用,其他目录存放着子应用,而整个webapps就是一个Host站点

我们访问应用Context的时候,如果是ROOT下的则直接使用域名就可以访问,例如:www.ledouit.com,如果是Host(webapps)下的其他应用,则可以使用www.ledouit.com/docs 进行访问当然默认指定的根应用(ROOT)是可以进行设定的,只不过Host站点下默认的主营用是ROOT目录下的。