java由jvm虚拟机和一些本地类库(与操作系统通信的底层库)和java类库组成。javase由jdk和一些基本api组成,而javaee则在javase基础上添加了一些企业常用的类库,其中两个著名api为applet和serverlet.由于java无法基于cgi协议与前端web服务器交互,所以开发了servlet类。而要基于servlet类开发web应用,则html语言必须写在java语言中,即servlet类无法完成对于http协议的解读,无法将只将程序中的java代码转换为html交给前端web服务器,于是出现了一个webcontainer类,即jsp,可以将java代码嵌入在html中,相当于分拣器,jsp可以依靠Jasper处理包含嵌入了java代码的整个html文件,将其转换为servlet代码即java代码,交给servlet编译运行。然后再交给前端web服务器。为了实现servlet类和jsp类,出现了很多商业web容器,如websphere,weblogic等,但此类容器实现了过多的企业类,过于笨重,于是出现了几乎只实现servlet类和jsp类的开源类,如tomcat.resign,jetty等。
- JRE=JVM+java se API
- JDK=JVM+java+API
- Javase就是JDK+基本API
- javaee就是JDK+扩展的API
tomcat由jvm和servlet容器以及web容器组成,一个tomcat进程即表现为配置文件中的server,和一个jvm实例即表现为配置文件中的engine,engine即拥有servlet container实现的jvm,一个tomcat一般只有一个server一个service,service包含一个engine和一个connector一个engine内可以有多个host即虚拟主机,host内部又包含多个context,context即代表一个webapp。当接受到用户请求时server通过connector选择关联engine,而service具体定义了一个或多个connecter是怎么把server和engine关联起来的。
tomcat的安装必须首先安装JDK,因为tomcat本身为java语言所开发,因此必须运行在JVM中,而tomcat运行时需要编译java网页源代码,因此必须有java语言和java编译器的支持,即java的开发环境。
JDK的安装步骤
1.首先官网下载JDK最新版本
wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-linux-x64.rpm
选项 --no-cookie 表示禁用cookie
选项 --header 表示在请求头部插入特定的部分