一、历史渊源
1、JavaEE
我们学习Java都知道Java是一门语言,它可以分为以下几个版本:
- JavaSE是指Java Standard Edition,Java标准版,就是一般Java程序的开发就可以(如桌面程序),可以看作是JavaEE的子集。
- JavaEE是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等。也叫J2EE。
- JavaME是指Java Platform,Micro Edition。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。
其实,怎么理解这个事情呢,用一个最简单的例子。
windows有基础的家庭版,是不是也有旗舰版,很明显旗舰版的功能要比家庭版强大,当然也更贵,你用盗版当我没说。当然它还有移动端的版本。
其实就是这个道理,windows就好比Java语言,家庭版就好比Javase,旗舰版就好比Javaee,移动版就好比Javame。
起初,SUN公司希望靠Javaee收版权费,但是受到Spring这些开源社区挑战之后,SUN公司又把它调整为一个半开源的版本,SUN公司找了一些联盟公司给它贡献组件,这个时期,SUN公司对外宣传Java EE是一套标准协议,他和他的联盟公司在这套协议下给大家贡献各种企业级框架。
这就好比,有很多人在家庭版上开发了很多免费的程序,我们只要装上,功能比旗舰版还要强大。
我们目前的理解就是Javaee是一个标准,定义了很多企业级开发的标准,说的简单一点就是,我写一些接口,大家可以按照我的规定写代码,这样我们的代码就能统一,扩展性就更好,但是标准是标准,做不做也是另一回事,我们不妨看几个Javeee的标准:
我们在这里列举几个常见的Javaee规范
- JDBC(Java data base connectivity):JDBC对程序员来讲是API,对实现与数据库连接的服务提供商而言是接口模型。
- Servlet:Servlet是小服务程序的意思,JavaServlet就是一种小型的Java程序,一个servlet就是Java编程语言中的一个类。servlet和用户的通信采用请求/响应模式,用于动态响应客户机请求形式扩展了web服务器的功能,servlet全部由Java写成并且生成html。servlet和jsp结合使用,能提供更为强大的服务器功能。
- JSP(Java Service Pages):JSP是一种服务器端的编程技术,创建动态的,与平台无关构建基于Web的应用程序,是为了提供一种声明性的、以表示为中心的开发Servlet方法而设计的。它也是可移植的独立于平台或应用程序的方法来提供动态内容的有效方式,提供了方法来为web客户生成动态内容。提供了开发基于Servlet的动态内容的简单方法,并带有分离内容和显示逻辑的优点。
- XML(Extensible Markup Language):可扩展标记语言,标准通用标记语言的子集。Java提供了极好的技术支持和丰富的库来解析,修改或查询XML文档。
- JNDI(Java naming and directoryinterface Java命名和目录接口):包含大量的命名和目录服务,使用通用接口来访问不同种类的服务。
- EJB( Enterprise JavaBean):EJB是JavaEE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。
- RMI (Remote method invoke ):RMI调用远程对象上的方法,使用了序列化方式在客户端和服务端传递数据。
- JavaMail:提供了一组抽象类定义构成一个邮件系统的对象,这些抽象类和接口支持消息存储、格式和传输的许多不同的实现,它是阅读,撰写和发送电子信息的可选包。
- JMS( Java Message Service):JMS是Java消息服务应用程序接口,是一个Java平台中关于面向消息中间件的API,用于在两个应用程序之间,或分布式系统中发布消息,进行异步通信。
2、JAKARTA EE
大名鼎鼎的Apache是Java开源组织的殿堂,现如今包含了350多个开源项目。当时Apache组织里面有很多C语言开发的项目,Java还是一门小众语言。为了发展Java Web项目,一群有志之士聚集在一起,启动了Jakarta项目。
后来,Java变得非常的火爆,以至于Jakarta项目囊括了众多基于Java语言的开源软件。最后,不得不把个别项目从Jakarta中独立出来,成为Apache软件基金会的顶级项目,例如:Struts,HttpClient,Tomcat,Ant,Maven,JMeter,Velocity,JMeter,Commons等。一直到2011年12月,在所有子项目都被迁移为独立项目后,Jakarta名称就不再使用了。
2017 年 8 月,Oracle(甲骨文)决定将 Java EE(Java Enterprise Edition)移交给开源组织,但是附加条件是:不允许开源组织用 Java 的名号。最终,Eclipse基金会接手了Java EE。但是,在给项目命名的时候,Eclipse基金会一筹莫展。为了起出合适的名字,Eclipse决定开始民意投票,并给出了 “Jakarta EE” 和 “Enterprise Profile” 两个备选名字。最后,Jakarta 以 64.4% 的票数获胜。从此之后,Java EE 正式更名为 Jakarta EE(雅加达)。从这个民意归属来看,再次证明了,Jakarta 的影响是及其深远的。
我们打开官网:https://jakarta.ee/zh/about/,他是这么形容JAKARTA EE的:
其实,Java EE在中国从来没有大规模的流行过,Java EE在Web的代表核心就是EJB,现在根本没人用这个了。但是在Javaee中流行起来的几个标准流行至今,需要我们重点学习一下。
更多的标准我们可以看这里:https://jakarta.ee/specifications/
二、Tomcat
1、简介
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的【Servlet 和JSP 规范】总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat最初是由Sun的软件架构师open in new window詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会open in new window。由于大部分开源项目O’Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而O’Reilly出版的介绍Tomcat的书籍(ISBN 0-596-00318-8)[1]的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计为一只公猫。
对于tomcat的版本和servlet和jsp标准,以及jdk的支持如下:
所以我们要注意的是,引入的包一定要匹配
2、Tomcat 安装
下载
我们这里下载一个10.0版本,我们依然可以使用java8。
https://tomcat.apache.org/download-10.cgi
安装
将下载的 .zip 压缩包 , 解压到系统的目录(建议是没有中文不带空格的目录)下即可。
3、Tomcat 目录结构
Tomcat 的主要目录文件如下 :
目录 | 目录下文件 | 说明 |
---|---|---|
bin | / | 存放Tomcat的启动、停止等批处理脚本文件 |
startup.bat , startup.sh | 用于在windows和linux下的启动脚本 | |
shutdown.bat , shutdown.sh | 用于在windows和linux下的停止脚本 | |
conf | / | 用于存放Tomcat的相关配置文件 |
Catalina | 用于存储针对每个虚拟机的Context配置 | |
context.xml | 用于定义所有web应用均需加载的Context配置,如果web应用指定了自己的context.xml ,该文件将被覆盖 | |
catalina.properties | Tomcat 的环境变量配置 | |
catalina.policy | Tomcat 运行的安全策略配置 | |
logging.properties | Tomcat 的日志配置文件, 可以通过该文件修改Tomcat 的日志级别及日志路径等 | |
server.xml | Tomcat 服务器的核心配置文件 | |
tomcat-users.xml | 定义Tomcat默认的用户及角色映射信息配置 | |
web.xml | Tomcat 中所有应用默认的部署描述文件, 主要定义了基础Servlet和MIME映射。 | |
lib | / | Tomcat 服务器的依赖包 |
logs | / | Tomcat 默认的日志存放目录 |
webapps | / | Tomcat 默认的Web应用部署目录 |
work | / | Web 应用JSP代码生成和编译的临时目录 |
4、Tomcat 启动停止
启动
双击 bin/startup.bat 文件 ;
停止
双击 bin/shutdown.bat 文件 ;
访问
http://localhost:8080
如果你能顺利打开这个页面就ok了:
评论区