- Java Web开发从初学到精通
- 方振宇等编著
- 2755字
- 2020-08-27 02:03:02
2.2 Tomcat服务器的安装和运行
Tomcat是由JavaSoft和Apache共同合作的产品,是一款很不错的免费开源的JSP服务器。它被Sun公司推荐为运行Servlet和JSP的容器。同时需要注意,Tomcat还具有Web服务器的基本功能,能够提供数据库连接池、SSL、Proxy等许多通用组件。本节介绍Tomcat的下载、安装和测试。
2.2.1 下载Tomcat
目前Tomcat最新的版本为6.0.18,因为下载界面都是英文,所以本节将逐步介绍下载Tomcat的过程。读者可按照下面的步骤来实现该平台的下载。
① 访问下载Tomcat的官方网站(http://tomcat.apache.org/),如图2.15所示。

图2.15 Tomcat下载首页
② 打开Tomcat首页后,单击页面左侧Download导航栏下的Tomcat 6.x超级链接,就会进入下载页面,如图2.16所示。

图2.16 Tomcat下载页面
③ 在下载页面中的Binary Distributions栏目下的Core选项中,选择任何一项其实都可以下载,但建议下载Windows Service Installer的exe安装文件,如图2.17所示。这个文件下载后,安装起来比较轻松。

图2.17 选择Tomcat类型
2.2.2 安装Tomcat
在安装Tomcat之前必须先安装JDK,因为在安装过程中该服务器要自动查找JDK的目录位置。在具体安装时,还要注意Tomcat和JDK这两个软件版本的限制。Tomcat的具体安装步骤如下:
① 双击Tomcat安装程序(apache-tomcat-6.0.18.exe),接着就会出现Windows Installer标准的安装过程,如图2.18所示。单击“Next”按钮后,先仔细阅读许可证协议,然后单击“Accept”按钮接受许可协议。

图2.18 Tomcat欢迎界面
② 在出现的自定义安装对话框中,可以进行安装内容的选择,如图2.19所示。默认的安装内容如下所示。

图2.19 选择安装内容
Tomcat:Tomcat服务器的主要组件。
Start Menu Items:在开始菜单里增加管理Tomcat的快捷方式。
Documentation:Tomcat的技术文档。
Examples:Web 应用程序的例子。
③ 单击“Next”按钮,在出现的自定义安装路径对话框中(如图2.20所示),可以进行安装路径的选择。一般推荐路径是“C:\Tomcat 6.0”,所以需要更改默认安装路径。单击“Browse”按钮,然后在出现的对话框中选择相对应的路径。

图2.20 更改安装路径
④ 然后单击“Next”按钮,出现Tomcat的基本配置对话框,如图2.21所示。在该对话框中可以进行最基本的配置。

图2.21 配置Tomcat
HTTP/1.1Connector Port:用来设置Tomcat的端口号,默认为8080。
Administrator Login:用来设置登录用户的用户名(User Name)和密码(Password)。
⑤ 单击“Next”按钮,在出现的Tomcat的JVM(Java虚拟机)配置对话框中(如图2.22所示),可以进行Java虚拟机的配置。该项配置一般自动寻找虚拟机的目录位置,用户只需要确认即可。最后,单击“Install”按钮完成Tomcat服务器的安装。

图2.22 确认JVM路径
2.2.3 运行和测试Tomcat
安装完Tomcat服务器后,就可以启动该服务器了。本节通过三种方式启动服务器:菜单方式、计算机管理器方式和命令窗口方式。服务器启动后,还要进行检查以确定是否启动成功。
1.以菜单方式启动Tomcat
打开Windows程序开始菜单中管理Tomcat的选项,如图2.23所示。

图2.23 Tomcat开始菜单
Monitor Tomcat:用来监视Tomcat的运行状态。
Configure Tomcat:用来对Tomcat进行配置。
单击Monitor Tomcat选项,Windows底部任务栏的托盘区中将增加一个图标,如图2.24所示。双击该图标将出现如图2.25所示的程序界面。其中,Start和Stop按钮用来启动和停止Tomcat服务器。当启动Tomcat后,Windows底部的任务栏的托盘区中图标将变成如图2.26所示的图标。

图2.24 Tomcat启动前图标

图2.25 启动Tomcat界面

图2.26 Tomcat启动后图标
2.以计算机管理器方式启动Tomcat
打开Windows的计算机管理器,选择“服务”选项后,如图2.27所示。

图2.27 计算机管理界面
在右侧栏目中,右键单击Apache Tomcat选项,在弹出的快捷菜单中选择“启动”命令就会启动 Tomcat 服务器,如图2.28所示。如果选择“停止”命令,就会停止 Tomcat服务器。

图2.28 启动Tomcat
注意
如果知道服务名称,也可以通过命令方式来启动和停止该项服务。
3.以命令行方式启动Tomcat
从图2.28中可以知道,Tomcat服务器的服务名为Apache Tomcat,所以可以在命令行窗口中,执行“net start "Apache Tomcat"”命令来启动Tomcat服务器,执行“net stop "Apache Tomcat"”命令来停止Tomcat服务器,如图2.29所示。

图2.29 启动和停止Tomcat
4.测试Tomcat是否正常运行
打开浏览器,在地址栏目里输入“http://localhost:8080”来测试Tomcat的运行情况。如果能够出现如图2.30所示的网页,则表示运行成功。

图2.30 测试Tomcat
注意
地址栏里的地址“http://localhost:8080”可以写成“http://127.0.0.1:8080”。
2.2.4 什么是虚拟目录
如果想让某台计算机上的一个目录内容,能被外面的Web浏览器通过HTTP协议访问,除了要在这台计算机上安装和启动一个Web服务器软件外,还要将该目录映射成一个Web站点目录。这个Web站点目录通常称为虚拟目录。如何把某台计算机上的一个目录内容映射成一个虚拟目录呢?下面将讲解虚拟目录的映射原理。
一个Web站点上只能有一个虚拟目录的根目录,其他的虚拟目录都必须是该根目录的子目录。一般根目录用“/”符号表示,根目录与该根目录下的子目录或资源文件也以“/”符号进行分隔。如图2.31所示的映射中,假设D:\test文件夹映射成Web站点的根目录。当计算机的域名为 http://www.student.com时,那么浏览器访问 http://www.student.com/test.html,就可以得到D:\test\test.html文件的内容。如果访问http://www.student.com/test. html/student/test.html,就可以得到D:\test\student\test.html文件的内容。

图2.31 映射示意图
一个文件系统目录可以被映射成一个或多个虚拟目录,但是一个虚拟目录只能对应一个本地文件系统目录,如图2.32所示。

图2.32 映射路径与本地文件系统多对一关系
当浏览器请求某个路径资源时,一般按照最长路径匹配原则进行处理。即首先以请求路径中最深子目录作为一个虚拟子目录名称,查看是否存在这个虚拟子目录。如果不存在,则查找是否存在上一级目录名称的虚拟子目录。如果找到匹配的虚拟目录,则进入该虚拟目录中查找指定名称的资源。
2.2.5 配置Tomcat的Web站点根目录
如何在 Tomcat 服务器中设置根目录呢?可以通过两种方式实现:第一种为采用默认的根目录来实现;另外一种则是通过修改默认根目录来实现。
1.采用默认的根目录
Tomcat服务器安装后,一般都会把“<Tomcat根目录>/webapps/ROOT”目录自动映射成 Web 站点的虚拟目录。所以在建立自己的 Web 站点时,可以先删除<Tomcat 根目录>/webapps/ROOT目录下的原始内容,然后将自己的资源复制到该目录下。
注意
目录名ROOT中的每个字母都必须大写。
2.修改默认根目录
上述的方法虽然简单但不灵活。打开<Tomcat根目录>/conf/server.xml文件,可以找到如下代码。
<Context path="" docBase="ROOT" debug="0">
说明
以上内容根据版本不同可能略有变化。
标签<Context>用来把本地文件系统中的一个目录,映射成一个可供 Web 浏览器访问的虚拟Web目录。属性path指定虚拟Web目录的路径,当其设置为空时,表示的是整个Web站点的根目录;属性docBase指定该虚拟Web目录所映射到的本地文件系统目录。例如要把D:\test文件夹设置成根目录,则代码如下:
<Context path="" docBase=" D:\test" debug="0">
注意
一个Web站点的根目录只有一个,直接以ROOT目录作为Web站点的根目录就可以,不需要再修改server.xml文件。
下面通过一个具体的例子来演示映射路径,具体步骤如下:
(1)在<Tomcat根目录>/webapps/ROOT目录下新建一个test.html文件。代码2.1实现了在页面中显示一行字的程序。
本案例参考光盘下的源代码\02\ test.html。
代码2.1 ROOT目录下的文件:test.html
<HTML> <!--HTML文档的开始标签--> <HEAD> <!--HTML文档的开头标签--> <TITLE>ROOT目录</TITLE> <!--HTML文档的标题标签--> </HEAD> <BODY> <!--HTML文档的主体标签--> ROOT目录下的test.html文件。 </BODY> </HTML>
(2)启动Tomcat服务器后,在浏览器中输入如下地址。
http://localhost:8080/test.html
查看结果如图2.33所示。可以得出<Tomcat根目录>/webapps/ROOT目录为本地计算机上的根目录。

图2.33 默认根目录的运行结果
(3)在D盘中创建一个test目录,在该目录下创建一个test1.html文件。代码2.2也是实现显示一行字的程序。
本案例参考光盘下的源代码\02\ test1.html。
代码2.2 test目录下的文件:test1.html
<HTML> <!--HTML文档的开始标签--> <HEAD> <!--HTML文档的开头标签--> <TITLE>test目录</TITLE> <!--HTML文档的标题标签--> </HEAD> <BODY> <!--HTML文档的主体标签--> test目录下的test.html文件。 </BODY> </HTML>
接着打开文件<Tomcat 根目录>/conf/server.xml,把标签<Context.>的内容修改成如下代码。
<Context path="" docBase=" D:\test" debug="0">
(4)启动Tomcat服务器后,在浏览器中输入如下地址。
http://localhost:8080/test.html
查看结果如图2.34所示,可以得出D:/test目录为本地计算机上的根目录。

图2.34 更改了根目录后的运行结果