一、前言 TomCat作为一款由Java语言所开发的Web Container,在很多应用场景中经常遇到,其特点也符合Java语言“一次编译到处使用”的优势,在介绍TomCat之前,首先需要对Java的技术体系有一定的了解。 二、Java介绍 Java与Python、PHP、C#等一样属应用级开发语言,不同于C等系统及开发语言,应用级开发语言在同一平台下所写的代码在其他平台上无法运行,这在早期让许多应用程序不得不针对每一种平台单独做一次开发。在计算机领域,出现任何两层之间无法衔接时都会引入中间层来解决此问题,Java也不例外,它在系统和应用之间又添加了一个中间层来解决该问题,中间层负责与不同的底层系统打交道,对外输出为统一的Java类库(也成为Java API,形式为XXX.class),主机只要安装了该中间层后就可以运行所有Java语言所开发的应用程序。 三、JRE、JVM与JDK 通过前文得知,中间层实际上是为Java语言所开发的程序提供了一个可以让其运行的环境,该环境通常被称为JRE(Java Run Environment),其核心是由一个Java虚拟机JVM(Java Virtual Machine)组成,JVM提供了Java程序运行时所需要的类文件,但仅有JVM并不一定能够能执行Java程序,这需要从Java程序的运行过程说起,Java程序的运行步骤为: 1.将使用Java语言开发的代码(通常Java代码被打包在.jar目录下)通过编译后生成程序的类文件 2.位于JVM中的类加载器(calss loader)将编译好的类文件和调用的类文件(类似于C语言,Java语言也有很多公共类文件)完成加载后交由执行引擎执行 3.执行引擎的作用是将Java程序转换为本地库调用,从而实现Java程序在本地的运行 而仅拥有JVM不一定能执行Java程序是因为Java程序在执行过程中有时需要调用其他的库,所以说JVM是JRE的一个子集,而JDK是在JRE的基础上多了开发工具,即JRE是JDK的一个子集 四、Java的分类及CGI规范 Java本身又分为三个流派:J2SE(Java 2 Standard Edition)、J2EE(Java 2 Enterprise Edition)、J2ME(Java 2 Mobile Edition),除了J2ME鲜有人用之外,J2SE和J2EE已应用于广大生产环境。 随着动态内容的兴起,CGI规范应用到了几乎所有的Web场景,CGI是Web服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,CGI程序还能与浏览器进行交互。 早期客户端在发起Java动态内容请求时,服务器端会将Java applet小程序作为一个单独文件与网页一起发给客户端,Java applet通常在客户端本地运行后将最终结果呈现给用户,此时称为客户端动态。该技术的优点是降低了服务器的负载,缺点是如果返回的是恶意程序,客户端面临很大的风险。 正是因为客户端动态存在着诸多隐患,取而代之的是服务器端动态,此时客户端发起Java动态内容请求,服务器接收到请求后交由服务器端Java Servlet程序运行,Java Servlet再将运行后的结果返回给服务器端最后呈现给用户,这样就避免了客户端动态的情况。 不同于php可以直接嵌入html文档,Servlet的结果最初只能以硬编码的方式格式化为html文档,这要求开发者需要同时掌握Java和html语言,所以为了降低开发者难度,通过JSP程序将运行后的结果格式化成html文档格式,从而降低了开发者的门槛。Servlet在处理完之后先交由JSP程序格式化成html后再交由服务器反馈给用户。 五、J2SE与J2EE的区分 从功能上大体可以这么认为:J2SE仅实现了JDK的功能,他为Java应用程序提供了一个容器。而在此之上拥有JSP、Servlet、EJB、JMS、JavaMail等功能的J2EE提供了一个Web容器,从而可以接收来自客户端的CGI或是http请求。 Sun在被Oracle收购前将JDK开源,但相关的JSP、Servlet等组件并没有开源,很多商业或社区组织由此提供了众多的Web容器技术,如:websphere,weblogic,tomcat。
初识TomCat之1——Java体系理解
原创
©著作权归作者所有:来自51CTO博客作者qiao645的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
tomcat系列之Java技术-1
Java与tomcat相关系列之一 1.Java技术包含的组件 包含四个独立且又彼此相关的技术:
tomcat JVM Linux运维与Java技术 Java -
【Hadoop】之 Hadoop 1.x 初识
Hadoop1.x 组件 名称节点(NameNode) 简介 维护这存储在HDFS上的所有文件的元数据信息(内存元数据:包含DataNode
hadoop 分布式文件系统 hadoop1-x 数据 元数据 -
【Java】之 LockSupport初识
文章目录一、简介二、`LockSupport` 与 线程中断一、简介LockSupport 是一个线程阻塞工具,可
Java Thread LockSupport 线程中断 信号量 -
Tomcat体系架构
Service组件:Tomcat服务器的实例。一个JVM中生成一个,可以在一
Tomcat体系架构 Java web应用 服务器 xml -
tomcat理解java web 其他