1、第1章Tomcat的安装与配置知识基础建议面向对象(封装、继承、多态和抽象的方法)-java(JVM-JRE7DK-Ec”pse)Servelet-JSP(Html)-XML多态:指同一个实体同时具有多种形式。即将父对象设置成为和一个或更多的他的子对象相等 的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作,具体 实现就是:允许将子类类型的指针赋值给父类类型的指针。1.1 Tomcat 简介Tomcat可以运行Servlet和JSP,是一个小型的轻量级应用服务器,运行时占用系 统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统中的常用功能,适用于 中小型系统和并
2、发访问用户不太多的场合,是开发和调试JSP程序的首选。Tomcat 是 Sun 的 JSWDK(Java Server Web Development Kit)中的 Servlet 容器,属于Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核 心项目,由Apache、Sun和其他一些公司和个人共同开发而成。Tomcat既是一个开放源码、免费支持JSP和Servlet技术的容器,同时又是一个 Web服务器软件,Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。表 11 Tomcat 版本和 Servlet/JSP 规
3、范Tomcat版本Servlet/JSP 规范6.0.142.5/2.15.5.x2.4/2.04.1.272.3/1/2与传统桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目录中的 文件也具有不同的功能。部署应用程序时,只需要把WAR文件放到Tomcat的webapp目 录下,Tomcat会自动检测和解压该文件。Tomcat既是一个Servlet容器,又是一个独立运行的服务器,像 HS、Apache等 Web服务器一样,具有处理HTML页面的功能。但它处理静态HTML文件的能力并不是太
4、第1章Tomcat的安装与配置 3 强,所以一般都是把它当作JSP/Servlet引擎,通过适配器(Adapter)与其他Web服 务器软件(如Apache)配合使用。止匕外,Tomcat还可与其他一些软件集成起来实现更 多功能,例如,与JBoss集成起来开发EJB、与OpenJMS集成起来开发JMS应用、与Cocoon(Apache的另外一个项目)集成起来开发基于XML的应用等。1.1.1 ServletServlet(小服务程序,注:servlet的命名可以看出sun命名的特点,如Applet表示小应用 程序;Scr iptlet=Scr ipt+Applet,表示小脚本程序;同样Serv
5、let=Server+Applet,表示小服务程序。)是一个与协议无关的、跨平台的Web组件,它基于Java技术开发,由Servlet容器所 管理。和运行在客户端浏览器中的Applet(小应用程序)相似,Servlet运行在服务器 端。Servlet采用“请求一响应”模式提供Web服务,交互式地浏览和修改数据,生成 动态Web内容。Servlet是平台独立的Java类,即按照Servlet规范编写的Java类,所以具有Java 语言的所有优点,如良好的可移植性及安全性等。Servlet被编译为平台中立的字节码,可以被动态地加载到支持Java技术的Web服务器中运行,就如同Applet对客户端一
6、样,区别在于Servlet运行并不需要图形用户界面。Servlet 类文件放至IWEB-INF classes 目录下。Java Servlet具有如下优点:(1)Servlet可以和其他资源(数据库、文件、Applet和Java应用程序等)交互,把生成的响应内容返回给客户端。如果需要,还可以保存“请求一响应”过程中的信息。(2)服务器采用Servlet可以完全授权对本地资源的访问,Servlet自身也会控 制外部 用户的访问数量及访问性质。(3)Servlet可以从本地硬盘,或者通过网络从远端硬盘来激活。(4)通过Servlet Tag技术(注:即HTML中等,参见附录“HTML字符实体&l
7、t;>:&;等”),可以在HTML页面中动态调用Servlet o(5)Servlet可以是其他服务的客户端程序。(6)通过链接技术,一个Servlet可以调用另一个或一系列Servlet来成为它的 客户端。(7)Servlet APT与协议无关。1.1.2 JSP(Java Server Pages)是由Sun Microsystems公司倡导,在传统的网页HTML文件(*.htm,*.html)中插 入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开 发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行
8、。4 程序员突击-Tomcat原理与Java Web系统开发*.JSP*_jsp.java*_jsp.classJava 程序段(Script let)和 JSP 标记(tag)oHTIL,HTI相应的ASP是微软公司倡导的。ASP是Active Server Page的缩写,意为“动态 服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库 和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp。现在常用于各种动态网站中。JSP 与 Servlet 区另Ujsp要先翻译,注意是翻译成servlet才能执行。JSP文件第一次执行时,要先 由T
9、omcat将其转化为Servlet文件,然后编译,所以速度会慢一些,但后继执行时速 度会很快。比如 test.jsp 要变成 test_jsp.java 然后编译成 test_jsp.class 0而 test_jsp.java本身就是一个servlet 所以jsp只是servlet的一个变种,方便书写 html内容才出现的。所以servlet是根本,所有jsp能做的,servlet全能做。Tomcat目录结构中:work子目录下,存放JSP经过Tomcat编译后生成的 Servlet。1.1.3 WAR(Web Archive)在建立WAR文件之前,需要建立正确的Web应用程序的目录层次结构
10、。.WEB-INF-classes*,java;*,classjarLweb.xml*.jsp;*.html一 建立WEBTNF子目录,并在该目录下建立classes与lib两个子目录。一将Servlet类文件放到WEBTNF classes目录下,将Web应用程序所使用Java 类库文件(即JAR文件)放到WEB-INF lib目录下。第1章Tomcat的安装与配置 5 一 建立web.xml文件,放到WEB-INF目录下。-根据Web应用程序的需求,将JSP页面或静态HTML页面放到上下文根路径下或 其子目录下。一如果有需要,建立METATNF目录,并在该目录下建立context.xml文
11、件(???)。只有在确保这些工作后都完成后,才开始建立WAR文件。WAR与JAR的区别:要注意的是,虽然WAR文件和JAR文件的文件格式是一样的,并且都是使用jar命 令来创建,但就其应用来说,WAR文件和JAR文件是有根本区别的。JAR文件的目的是 把类和相关的资源封装到压缩的归档文件中,而对于WAR文件来说,一个WAR文件代表 了一个Web应用程序,它可以包含Servlet HTML页面、Java类、图像文件,以及组 成Web应用程序的其他资源,而不仅仅是类的归档文件。我们什么时候应该使用WAR文件呢?在开发阶段不适合使用WAR文件,因为在开发 阶段,经常需要添加或删除Web应用程序的内容
12、,更新Servlet类文件,而每一次改动 后,重新建立WAR文件将是一件浪费时间的事情。在产品发布阶段,使用WAR文件是比 较合适的,因为在这个时候,几乎不需要再做什么改动了。创建并发布WAR文件:Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件。只要 把整个helloapp目录拷贝到/webapps目录下,即可运行开放式目录结构的helloapp 应用。在Web应用的开发阶段,为了便于调试,通常采用开放式的目录结构来发布Web 应用,这样可以方便地更新或替换文件。如果开发完毕,进入产品发布阶段,应该将整 个Web应用打包为WAR文件,再进行发布。在本例中,按如下步骤
13、发布helloapp o(1)进入 helloapp 应用的根目录/webapps/he 11 oapp。(2)把整个Web应用打包为helloapp.war文件,命令如下:jar cvf helloapp.war*.*在JDK的bin目录下提供了打包程序jar.exe。如果要展开helloapp.war文件,命令为:jar xvf helloapp.war(3)把helloapp.war文件拷贝到/webapps目录下。(4)删除原先的helloapp目录。(5)启动Tomcat服务器。Tomcat服务器启动时,会把webapps目录下的所有WAR文件自动展开为开放式的 目录结构。所以服务器
14、启动后,会发现服务器把helloapp.war展开到 6 程序员突击-Tomcat原理与Java Web系统开发/webapps/he 11 oapp 目 录中。第1章Tomcat的安装与配置 7 1.2 Tomcat的结构1.2.1 Tomcat与Servlet之间的关系当初在Apache开发时还未出现Servlet的概念,所以Apache不能内置支持 Servlet 0实际上,除了 Apache,其他许多Web服务器软件都不能直接支持Servlet 为了支持Servlet,通常要单独开发程序,这种程序一般称为服务器小程序容器(Servlet Container),有时也叫做服务器小程序引擎
15、(Servlet Engine)它是Web服务器或 应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME1 的请求,格式化基于MIME的响应,它在Servlet的生命周期内包容和管理Servlet,是一个实时运行的外壳程序。运行时由Web服务器软件处理一般请求,并把Servlet调 用传递给“容器”来处理。Tomcat就是满足这种需要的JSP/Servlet引擎,是Sun公 司的JSP/Servlet的官方实现。1 MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。按照工作模式的不同,
16、Servlet容器可以分为以下3类:(1)独立运行的Servlet容器在这种模式下,Servlet容器作为构成Web服务器的一部分而存在。当使用基于Java 的Web服务器时,就属于这种情况。这种方式是Tomcat的默认模式,然而大多数Web 服务器并不是基于Java的,所以就产生了下面的两种其他类型。(2)内置的Servlet容器Servlet容器由Web服务器插件和Java容器两部分组成。采用这种方式时,Web服 务器插件需要在某个Web服务器内部地址空间中打开一个JVM(Java虚拟机),在此 JVM上加载Java容器并运行Servlet。如果客户端调用Servlet,Web服务器插件首
17、先 获得此请求的控制并将它传递(使用JNI技术)给Java容器,然后Java容器把此请求 交给Servlet来处理。这种方式运行速度较快,并且能够提供良好的性能,适用于单进 程、多线程服务器,但是在伸缩性方面存在不足。(3)外置的Servlet容器采用这种方式时,Servlet容器运行在Web服务器外部地址空间。先由Web服务器 插件在某个Web服务器外部地址空间打开一个JVM(Java虚拟机),然后加载Java容 器来运行Servlet o Web服务器插件和JVM之间使用IPC(进程间通信)机制(通常是 TCP/IPSockets)。如果客户端调用Servlet,Web服务器插件首先获得此
18、请求的控制并 将它传递(使用IPCs技术)给Java容器,然后Java容器把此请求交给Servlet来处 理。这种方式对客户端请求的处理速度不如内置Servlet那样快,但是在其他方面(如 可伸缩性、稳定性等)具有优势。8 程序员突击-Tomcat原理与Java Web系统开发Tomcat属于Servlet容器,其工作模式也分为上述3种,所以:Tomcat既可被用作独立运行的Servlet引擎(便于开发和调试);可作为一个需要增强功能的Web服务器(如当前的Apache IIS和Netscape 服务器)插件。在配置Tomcat之前,就需要确定采用哪种工作模式,工作模式(1)比较简单,直 接安
19、装Tomcat即可,工作模式(2)和(3)有些复杂,除了安装Tomcat.Web服务器 之外,还需要安装连接两者的中间连接件。Java Servlet API 是 Servlet 容器和 Servlet 之间的接口,它定义了 Servlet 的 各种方法,还定义了 Servlet容器传送给Servlet的对象类,其中最重要的是请求对象 ServletRequest和响应对象ServletResponse。这两个对象都是由Servlet容器在客户 端调用Servlet时产生的,Servlet容器把客户请求信息封装在ServletRequest对象 中,然后把这两个对象都传送给要调用的Servle
20、t,Servlet处理完后把响应结果写入 ServletResponse,然后由Servlet容器把响应结果发送到客户端。Tomcat服务器接收 客户端请求并作出响应的完整过程如图1-1所示。图1-1 Tomcat服务器响应客户请求过程其中,处表示Web服务器接收到客户端发出的HTTP请求后,转发给Servlet容 器,同时把控制返回Servlet容器;处表示Servlet容器把响应对象ServletResponse 中的处理结果转发给Web服务器,通知Web服务器以HTTP响应的方式把结果发送到客 户端,同时把控制返回Web服务器。第1章Tomcat的安装与配置 9 1.2.2 Tomcat
21、的层次结构(6层)Tomcat服务器由一系列可配置组件构成,其中核心组件是Catalina Servlet容器,色是其他所有Tomcat组件的顶层容器。Tomcat各组件之间存在的层次关系如图1-2所 7J oServer Service:Connector4 Enginel Host-Context图1-2 Tomcat层次关系【提示】Tomcat的组件可以在 conf server.xml文件中进行配置,每个 Tomcat组件在server.xml文件中对应一种配置元素。在XML文件的代码中,这些组件之间关系如下所示:上述各组件将Tomcat分成若干层(Server层、Service层、E
22、ngine层、Host层、Context层),各层通过数据管道Pipeline交互,如图所示。2Catalina是远程轰炸机的意思。10 程序员突击-Tomcat原理与Java Web系统开发1.2.3 Java Web应用处理充当Java Web的容器是Tomcat服务器最主要的功能。Java Web在Sun的Java Servlet规范中定义如下:Java Web应用由一组Servlet、HTML页、类,以及其他可以 被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Web应用容器中运 行。由此定义可知,在Java Web应用中可以包含Servlet、JSP、类、静态文档和
23、配置 信息等。每个Web应用都对应唯一的Context,Servlet容器为每个运行的Java Web应 用创建唯一的ServletContext对象,该对象被同一个Web应用中的所有组件所共享。假设有3个Web应用,分别为HelioWorld Counter和TableList,它们对应的主 页URL分别如下:HelioWorld:http:/localhost1:8080/HelloWorld/index,htmlCounter:http:/localhost1:80/Counter/index.jspTableList:http:/localhost2:8086/TableList/in
24、dex,jsp3个用户分别访问上述3个地址,则Tomcat服务器各个组件响应用户请求的过程 如 图1-4所示,其中每个Context容器对应唯一的Java Web应用。Server图1-4 Tomcat服务器各组件响应用户请求过程第1章 Tomcat的安装与配置 11 1.3 Tomcat的安装本节将介绍Tomcat工作环境的安装、基本的启动与停止方法、JDK的安装与JVM 性能调整、二进制版本的Tomcat安装以及从源代码安装Tomcat,最后讲解如何启动、停止和自动启动Tomcat,并进行安装的测试。1.3.1安装准备在安装Tomcat之前必须先安装JDK。JDK的全称是Java Deve
25、lopment Kit,是Sun 公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好 的Java源程序经过编译可形成Java字节码,只要安装了 JDK,就可以利用JVM解释这 些字节码文件,从而保证了 Java的跨平台性。在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统API实现对应功 能的Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat也具有上述特征,所以需要预先下载JDK和Tomcat,这两个软件的版本和下 载地址如下:JDK选择Sun官方网站提供的JDK-6U1,下载网址为https:/ d=6C6B4
26、 60AC2EF83F7FF253E51D5B5BA1C 用户访问上述网址需要注册,注册后就可以根据自己的计算机平台配置选择合适版 本。如果使用32位Windows系统,那么选择下载:Windows Offline Installation(build 06),Multi-languagejdk-6u2-windowsi586-p.exe如果使用32位Linux系统,那么选择下载:Linux RPM in self-extracting file(build 05)jdk-6u2-linux-i586-rpm.bin如果使用64位Windows系统,那么选择下载:Windows x64 exe
27、cutable(build 05)jdk-6u2-windows-amd64.exe如果使用64位Linux系统,那么选择下载:Linux x64 RPM in self-extracting file(build 05)jdk-6u2-linux-amd64-rpm.binTomcat 选择 apache-tomcat 6.0.14,下载网址为 http:/tomcat,apache,org/down1oad-60.cgi。在如图1-5所示的下载页面中,Binary Distributions(二进制发行版)下方有若 12 程序员突击-Tomcat原理与Java Web系统开发干组下载项,每
28、组下载项有两个不同的版本对应不同的操作系统,其中zip是Windows 平台下运行版本,tar.gz是Linux平台下运行版本。其中Core组和Administration Web Application组必须下载,这两组分别对应Tomcat核心安装包和控制平台包,其他组 内容可以根据需要来决定是否下载。图1-5 Tomcat下载页面本书内容都基于32位Windows系统,所以JDK选择jdk-6ul-windows-i586-p.exe,Tomcat 选择 apache-tomcat 6.0.14.zip 和 apache-tomcat 6.0.14-admin.zip。对于Windows操
29、作系统,tomcat 6.0.14提供了两种安装文件,一个文件为 apache-tomcat 6.0.14.exe,另一个文件为 apache-tomcat 6.0.14.zip 0 apache-tomcat 6.0J4.exe是可运行的安装程序,读者只需要双击这个文件,即可开始安装Tomcat 0 在安装过程中,安装程序会自动搜寻JDK和JRE的位置,并把Tomcat服务加入到Windows 操作系统的服务中,同时在“开始”一“程序”菜单中加入Tomcat服务器管理菜单。apache-tomcat 6.0.14.zip是一个压缩包,只需要把它解压到本地硬盘即可,这种方 式既适合Window
30、s系统下的安装,也适用于其他操作系统,例如Linux系统,所以下面 主要介绍apache-tomcat 6.0.14.zip的安装与Tomcat运行环境的设置。1.3.2 JDK安装及设置(1)双击jdk-6ul-windows-i586-p.exe,弹出如图1-6所示界面。单击“接受”按钮进入下一步。第1章Tomcat的安装与配置 13 图-6执行安装程序(2)选择安装内容及路径,如图1-7所示。其中,中间列表是要安装的可选功能,单击每个可选功能左边的按钮,将弹出下拉 菜单,其选项内容包括“此功能将安装在本地硬盘驱动器上”、“此功能及所有子功能 将安装在本地硬盘驱动器上”、“现在不安装此功能
31、”和“此功能将不可用”,系统默 认均为第一个选项。图1-8设置JRE安装内(3)安装JRE,如图1-8所示。图-7选择安装内容及路径 容及路径【专家提示】系统默认安装路径是C:Program Files Java jdkl.6.0_02,若想安装 到其他路 径,可单击右边的“更改(A)”按钮,选至其他安装路径。建议将JDK安装在C盘根目录下,即JDK的安装目录是C:jdkl.6.0_02 设置好安装内容及路径后,单击“下一步(N)”按钮,即在选择的安装路径下开 始安装所选的内容。14 程序员突击-Tomcat原理与Java Web系统开发JRE是Java Runtime Environment
32、的缩写,是Java运行环境,即Java平台。和 第二步界面相似,中间列表是要安装的可选功能,系统默认的都是第一个选项。下面是 系统安装路径,默认是C:Program Files Java jrel.6.0_02,若想安装到其他路径,可单击右边的按钮,选择其他安装路径,JRE按照默认路径安装即可。设置好安装内容及路径后,单击“下一步(N)”按钮,即可在选择的安装路径下 安装所选的内容。安装完毕后弹出如图9所示界面,提示JDK安装完成。图1-9安装完成安装完成后可以发现系统存在两套JRE,一套位于JDK安装目录八jre目录下(即 C:jdkL6.0_02 jre),另一套位于 C:Program
33、Files Java jrel.6.0_02 目录下,后 面这套比前面那套少了 Server端的JVM,把前面那套Server端的JVM复制过来后两者 效果一样。其实,在上述步骤中的第二步,已经安装了 JDK和JRE(第一套),第三步 安装的是第二套JREo安装两套JRE的原因是:JDK是基于DOS界面的Java程序集成开发环境,而JRE是Java程序运行的必备平台,即所谓的JVMo安装两套JRE,就是在机器上安装了两个JVM,它们都可以运行Java程序。Java 应用程序可以分为两种,一种是JDK目录中的应用程序,另一种是根据各种应用需要开 发的一般Java程序它们执行时分别使用不同的JRE
34、,可以减少搜索时间,利用JRE 并行运行的特点来提高程序执行速度,所以C:jdkL6.0_02 jre下的JRE运行JDK目 录中的应用程序,而C:Program Files Java jrel.6.0_02下的JRE运行一般Java应 用程序。第1章Tomcat的安装与配置 15 安装完成后需要重新启动计算机,然后设置环境变量,步骤如下:(1)右击“我的电脑”,在弹出的快捷菜单中选择“属性”命令,打开“系统属 性”对话框,选择“高级”选项卡,单击“环境变量”按钮,打开“环境变量”对话框,如图1-10所示。(2)单击“系统变量”选项区域中的“新建”按钮,打开“新建系统变量”对话 框,变量名设置
35、为JAVA_H0ME,变量值设置为C:jdkL6.0_02,如图1-11所示,此变 量值为JDK安装目录所云位置。图1-11”新建系统图1-10“环境变量”对话框变量”对话框(3)再新建一个系统变量,变量名设置为classpath,变量值设置 为;C:jdkl.6.0_02 lib;C:jdkl.6.0_02 lib tools.jar,此变量值表示搜索 Java 类 的路径,该路径市包含一些Jar归档文件或者相应的目录,Java程序执行时往往会从 classpath中选择并添加自己需要的类路径。设置时需要注意,变量值最前面的“.”表 示当前路径,不可以省略,不同值之间用“;”隔开。(4)选中
36、“系统变量”面板中的Path变量,然后单击“编辑”按钮,在弹出的“编 辑系统变量”对话框中,在变量值的最后添加;C:jdkl.6.0_02 bin,此变量设置一些 常用目录,该目录中的文件在任何地方都可以直接访问,从而免去了在不同目录间反复 切换的麻烦。【专家提示】为了检验环境变量设置是否成功,可以采用下面的方法:选择“开始”一“运行”命令,输入cmd,进入DOS界面,然后在其中运行java和javac 这两个命令,如果输出对应的帮助信息,则表明环境变量已经设置成功。JAVA_HOME,顾名其意该变量的含义就是Java的安装路径,设置为C:jdkl.6.0_02 16 程序员突击-Tomcat
37、原理与Java Web系统开发path,即识别java命令路径。变量的含义就是系统在任何路径下都可以识别java命令,则变量值为;%JAVA_HOME%bin”,(其中“%JAVA_HOME%”的意思为刚才设置 JAVA_HOME 的值),也可以直面写上“C:jdkl.6 bin”classpath,即识别要使用的类的路径。该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,Java命 令才能识别。其值为“.;%JAVA_HOME%lib dt.jar;%JAVA_HOME%lib toos.jar(要加.表示当前路径)”myEclipse有自带的jr
38、e,它能编译普通的javase程序,javaEE的话就需要jdk 了,因为它里面没有框架集成的一些属性,没有框架的javaEE不用jdk也可以1.3.3 Tomcat安装及设置把 Tomcat 压缩文件 apache-tomcat-6.0.14.zip 中的内容解压缩到 C:apache-tomcat-6.0.14下,然后按照1.2.2节中增加系统变量的方法增加系统变量。变量名:T0MCAT_H0ME;变量值:C:apache-tomcat-6.0.14然后修改系统变量 classpath,添加%TOMCAT_HOME%common lib servlet-api.jar 同时修改系统变量pa
39、th,添加%TOMCAT_ H0ME%binoWindows如何在cmd命令行中查看、修改、删除与添加、设置环境变量首先明确一点:所有的在cmd命令行下对环境变量的修改只对当前窗口有效,不是永久性的修改。也就 是说当关闭此cmd命令行窗口后,将不再起作用。永久性修改环境变量的方法有两种:一种是直接修改注册表(此种方法目前没试验过),另一种是通过我的电脑-属性-高级,来设置系统的环境变量(查看详细)。其次,明确一下环境变量的作用。它是操作系统用来指定运行环境的一些参数。比如临时文件夹位置和系统文件夹位置 等。当你运行某些程序时,除了在当前文件夹中寻找外,还会到这些环境变量中去查找,比如“Path
40、”就是一个变量,里面存储了一些常用的命令所存放的目录路径。第三:什么情况下进行设置?当启动cmd命令行窗口调用某一命令的时候,经常会出现“xxx不是内部或外部命令,也不是可运行的程序或批处理文件”,如果你的拼写没有错误,同时计算机中确实存 在这个程序,那么出现这个提示就是你的path变量没有设置正确,因为你的path路径,第1章Tomcat的安装与配置 17 也就是默认路径里没有你的程序,同时你有没有给出你程序的绝对路径(因为你只是 输入了命令或程序的名称而已),这是操作系统不知道去哪儿找你的程序,就会提示这 个问题。第四:如何修改?1、查看当前所有可用的环境变量:输入set即可查看。2、查看
41、某个环境变量:输入“set变量名”即可,比如想查看path变量的值,即输 入 set path3、修改环境变量:输入“set变量名=变量内容”即可,比如将path设置为“d:nmake.exe,只要输入set path=d:nmake.exe。注意,此修改环境变量是 指用现在的内容去覆盖以前的内容,并不是追加。比如当我设置了上面的path路径之 后,如果我再重新输入set path=c,再次查看path路径的时候,其值为“c:,而不是d:nmake.exe;c。4、设置为空:如果想将某一变量设置为空,输入“set变量名=”即可。如“set path=那么查看path的时候就为空。注意,上面已经
42、说了,只在当前命令行窗口起作用。因 此查看path的时候不要去右击“我的电脑”“属性”.5、给变量追加内容(不同于3,那个是覆盖):输入“set变量名=%变量名归变量内 容。如,为path添加一个新的路径,输入set path=%path%;d:nmake.exe”即 可将d:nmake.exe添加到path中,再次执行set path=%path%;c:f,,那么,使用set path语句来查看的时候,将会有:d:nmake.exe;c:,而不是像第3步中的只有c:。如:set PATH=%PATH%;C:Program Files Microsoft SDKs Windows v6.0A
43、Lib;C:Program Files Microsoft SDKs Windows v6.0A bin;C:Program Files Microsoft SDKs Windows v6.OA includeset INCLUDE=%INCLUDE%;C:Program Files Microsoft SDKs Windows v6.OA includeset LIB=%LIB%;C:Program Files Microsoft SDKs Windows v6.0A Libset LIB=C:Program Files Microsoft XML Parser SDK 1ib;C:Prog
44、ram Files Microsoft Platform SDK 1ib;C:Program Files Microsoft Visual Studio VC98 mfc lib;C:Program Files Microsoft Visual Studio VC98 libset PATH=%PATH%;C:Program Files Microsoft Visual Studio Common Tools;C:Program Files Microsoft Visual Studio Common Tools WinNT;C:Program Files Microsoft Visual S
45、tudio Common MSDev98 Bin;C:Program Files Microsoft Visual Studio VC98 binset INCLUDE=C:Program Files Microsoft XML Parser SDK Inc;C:Program Files Microsoft SDK Include;C:Program Files Microsoft Visual Studio VC98 atl include;C:Program Files Microsoft Visual Studio VC98 mfc include;C:Program Files Mi
46、crosoft Visual Studio VC98 include附录:下面贴上一些常用的环境变量及作用 18 程序员突击-Tomcat原理与Java Web系统开发%ALLUSERSPROFILE%局部 返回所有“用户配置文件”的位置。%APPDATA%局部返回默认情况下应用程序存储数据的位置。%CD%局部 返回当前目录字符串。%CMDCMDLINE%局部返回用来启动当前的Cmd.exe的准确命令行。%CMDEXTVERSION%系统返回当前的“命令处理程序扩展”的版本号。%COMPUTERNAME%系统 返回计算机的名称。%COMSPEC%系统返回命令行解释器可执行程序的准确路径。%DA
47、TE%系统 返回当前日期。使用与date/t命令相同的格式。由Cmd.exe生成。有关date命令的详细信息,请参阅Dateo%ERRORLEVEL%系统返回最近使用过的命令的错误代码。通常用非零值表示错误。%HOMEDRIVE%系统返回连接到用户主目录的本地工作站驱动器号。基于主目录值 的设置。用户主目录是在“本地用户和组”中指定的。%HOMEPATH%系统 返回用户主目录的完整路径。基于主目录值的设置。用户主目录 是在“本地用户和组”中指定的1.3.4 测试 Tomcat要测试Tomcat服务器是否安装成功,首先要启动Tomcat服务器。在Tomcat安装 目录C:apache-tomca
48、t-6.0.14下面有一个bin目录,里面有两个文件:startup,bat 和shutdown,bat,分别控制Tomcat的启动和关闭。由于在1.2.3节中已经把该目录加 入到系统变量Path中,所以在命令行中直接输入对应的文件名即可实现Tomcat的启动 和关闭,而不需要切换目录。在命令行中输入startup,bat,即可启动Tomcat,如图 1-12所示。图 1-12 启动 Tomcat然后在浏览器地址栏中输入http:/localhost:8080,按Enter键访问。如果出现 如图1-13所示界面,则说明Tomcat安装成功。第1章Tomcat的安装与配置 19 图1-13 To
49、mcat默认主页该界面是Tomcat服务器默认主页,对应文件是Tomcat安装目录下的webapps R00T index,jsp o该页面包含很多有用信息,对初学者大有益处,左边由上至下分为 5个链 接块,内容分别是系统管理(Administration)、Tomcat 文档(Documentation)Tomcat 在线服务(Tomcat Online)、代码事例(Examples)和其他内容(Miscellaneous)。页面正文中提供两个Tomcat服务邮箱方便用户咨询,其中的userstomcat.apache.org 解答用户在Tomcat配置和使用中遇到的问题,devtomcat
50、.apache,org解答用户在利 用Tomcat进行Web开发中遇到的问题。下面测试一般JSP页面是否可以在Tomcat下正常运行。编写一个测试页面csaitest.jsp,内容如下:JSP Test Page Current Time is%out.printin(Welcome to JSP World!z,);%20 程序员突击-Tomcat原理与Java Web系统开发把该文件放置在Tomcat安装目录下的webapps R00T文件夹中,然后在浏览器地址 栏中输入http:/localhost:8080/csaitest.jsp,按Enter键访问。正常情况下应该 出现如图1T 4