? Tomcat的安装以及配置
Tomcat的版本很多,每个版本的区别是很大的,但在实际的使用上都是大同小异,现在常用的版本为5.x或者6.x,,这些版本在网上下载都是很容易的。从安装方式上来看分为:安装版与解压版,我们主要讨论这种情况。安装版tomcat我们下载的是一个exe文件如图所示,对于windows系列系统来说,安装的步骤很简单如下图所示。
在安装的过程中,需要注意:tomca会要求用户指定jdk安装目录,即comcat的运行时需要jdk的支持的,而且当需要给tomcat指定jdk的安装目录的时候,tomcat会自动检索到系统已安装的jdk,这也就是说 在安装tomcat之前,需要先安装jdk,当tomcat检索到jdk之后,我们就可以一直点击“下一步”安装tomcat。安装完成后,会在tomcat的安装目录看到如下文件,下面需要做的就是测试tomcat是否安装成功,首先打开tomcat安装目录下的bin文件,启动bin文件夹中的startup.bat文件,当出现如下情况时,表示tomcat服务已经启动成功。接下来打开一个浏览器并在地址栏中输入http://localhost:8080字样如若出现如下界面表示tomcat运行正常。下面介绍tomcat解压版,如若我们下载的是一个tomcat的压缩文件,可以在系统中找到一个合适的目录(注:此目录不要有中文目录名,而且目录名上不要有空格)将tomcat解压缩,会得到与安装版几乎一摸一样的目录文件,同样打开tomcat主目录下的bin文件夹,启动bin文件夹下的startup.bat文件,注意很可能不会启动成功或是一闪而过或是出现一大串的错误信息,这些种种的原因都与jdk的路径有关,解压版的tomcat没有自动寻找jdk的能力,但有寻找JAVA_HOME系统变量的能力,但如果系统变量列表中没有JAVA_HOME这个系统变量,那么tomcat就无能为力了,显示给你的就是一大片的错误信息,所以需要在系统的环境变量中配置JAVA_HOME系统变量,配置方法如下图所示,配置完成之后,在重新启动startup.bat文件,tomcat就正常启动了,同样的在浏览器地址栏中输入http://localhost:8080验证tomcat是否运行正常。简单的说,安装版的tomcat我们几乎不需要配置,对于解压版的来说一定不要忘了JAVA_HOME这个系统变量。
? Tomcat的目录介绍
/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件
/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
/doc:存放Tomcat文档
/server:包含三个子目录:classes、lib和webapps
/server/lib:存放Tomcat服务器所需的各种JAR文件
/server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用
/common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件
/shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)
/logs:存放Tomcat执行时的日志文件
/src:存放Tomcat的源代码
/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
/work:存放JSP编译后产生的class文件
? 为何使用JAVA_HOME
我们分两个方面介绍,其一对于j2se程序来说需要在系统中配置环境变量,及在path环境变量中指向一个能找到jdk目录下的bin目录,我们通常的方法不是直接在path中给出bin文件夹的全路径,而是新建一个名为JAVA_HOME的系统变量将其值设置为jdk的安装目录,之后再path环境变量中加入%JAVA_HOME%\bin,从而使系统能够找到jdk中的bin文件夹,这样做的好处是,我们的系统可以装不同版本的jdk,我们可以改变JAVA_HOME中的值而改变我们使用的jdk版本,这样就不用改变path中的值,因为path中的值除了jdk的配置外还有很多其他软件的配置,所以尽量是path环境变量中的值简洁清晰。
另外JAVA_HOME逐渐成为一种需要用jdk支持的软件中的配置信息中的一个关键字或者保留字,就像上文介绍的tomcat。所以我们选择JAVA_HOME进行环境变量的配置。
? Jdk、jre、jvm之间的关系介绍
我们在安装好JDK后就可以想象成我们已经买了一台安装好软件的新的电脑。
JVM : Java Virtual Machine(Java虚拟机) 。所谓“虚拟机”顾名思义就是模拟出来的东西。就像是我们在用电脑看电视,但是电脑里并没有像电视机里面一样的硬件支持,但是我们仍然可以从电脑里接受电视台的节目。那是因为我们编写了一个可以模拟电视机硬件工作的软件运行在电脑的平台上面的原因。同样JVM就是模拟了电脑的硬件,它同样有着像CPU一样可以执行代码的功能。它的实现具体有:指令集 寄存器组 类文件格式 栈 垃圾收集堆 内存区。可以把它理解成是专门用来执行Java程序的一台机器。也就是说JVM提供了Java执行的硬件平台。JVM上执行的代码都存放在.CLASS
文件中。JVM只执行字节码文件。
JRE :Java Runtime Environment(Java运行环境)。就是可以运行Java程序的地方。就像是我们要在电脑上运行一个视频软件的时候必须在Windos或者是Linux等操作系统上一样。那我们就可以把它看做是一个操作系统。也就是说JRE提供了Java执行的软件平台。在运行Java的过程中除了需要有JVM执行Java代码这个动作外,还需要Java API(Application Programming Interface,应用编程接口)说简单的就是“类库”。Java程序在运行中没有这些API是不行的,所以JRE包含JVM。
JDK: Java Development ToolKit(Java开发工具包)。我们有了硬件和软件两个平台后就可以做我们自己想做的事情了。JDK就是我们用来做事情的工具,它包括JRE还有其他工具。我们所说版本的不同,也就是说它里面的工具有差异。就像是你不同的工具箱里放着不同的工具一样。举个例子:最常用的一个就是javac,它是把.java的文件翻译成.class文件的工具。然后让JVM来执行.class文件中的字节码。(就像电脑的CPU只认识0或1的道理)
如果一台计算机的需求只是运行Java程序,而不是去编写Java程序的时候,它只需要安装JRE就可以了。
? Classpath的作用
Classpath主要是在执行java程序时起作用的,对于一个j2se程序来说,可以先将java源文件编译成字节码文件也就是.class文件,这个.class文件加入在电脑中F盘,如果我们在系统环境变量中新建一个classpath并将其值设置成这个class文件的绝对路径,就可以在电脑的任何目录下执行这个文件,同样的在任何地方都引用此class文章塑造的类,对于j2EE程序来说,如若我们需要一些第三方的类库或jar包,都会需要将这些类库或jar包导入到本程序中,实际上也就是将他们的路径保存在了classpath中,虽然有些时候在系统环境变量中没有看到classpath中拥有这些信息,但是在项目的配置文件中都会找到这些信息的,另外需要说明的是classpath中的”.”表示当前路径。