学习Tomcat,我们应该懂的

对于JAVA EE的学习者而言,Tomcat绝不陌生。从所周知,Tomcat是一个符合JAVA EE标准的WEB服务器,换言之:JSP,Servlet等放在Tomcat容器(另一说法)可以运行。闲话不多说,进主题,如果你对Tomcat有一定的了解,可以不看第一部分,直接从第二部分看起。
一、Tomcat的安装
1、 首先需要从网站(www.apache.org)下载到适合的Tomcat版本,对众多初学者而言,我们都选择Windows安装版本。当然啦,还要确定你的电脑是否安装好了JDK,这是大前提。
2、 点击安装一直按默认到,如下图:

先注意到端口号8080,至于其作用以及如何修改,下面有详解。密码框随便你自己填啦,忘记了也没关系,可以到Tomcat安装目录:conf/tomcat-users.xml中找回来,也可以不填;(接下来的画面你会看到“Java Virtual Machine path selection”,如果机器没有安装JDK就无法继续了)。
3、 等安装接近完成,Tomcat会默认启动的,你可以把那个勾给去掉。
4、 检查看看是否安装成功:如果刚才的勾给你去掉的话先启动Tomcat服务器,接着在浏览器地址栏输入:http://localhost:8080/或者http://127.0.0.1:8080如果进入了一个有个猫的页面就证明你安装成功啦。至于为什么输入上面的网址就可以进入页面,大家可以查阅一下计算机网络相关书籍。这里又出现了8080,还是那句,下面有详解。PS:这样说不是为了吸引大家往下面看,的确是因为还没有必要详细说,留在后面说更合理。
【学习Tomcat,我们应该懂的】
二、Tomcat目录结构
进入Tomcat的安装好的目录,你会看到有以下几个文件夹,如下图:

1、 先说bin文件夹,这个文件夹是用来存放启动、关闭Tomcat服务器的脚本。点击startup.bat就可以运行Tomcat服务器,与之相对的shutdown.bat;
2、 Common/lib用来存放你的程序所需要的jar包;
3、 Conf文件夹,conf是configuration的缩写,顾名思义,这个文件夹主要存放与Tomcat配置相关的文件。Tomcat服务器的配置文件是:server.xml;
4、 Logs文件夹,log是日志的意思,也就是用来存放日志文件的(至于这些日志文件如何产生的以及都表示什么,我也不清楚 );
5、 Webapps文件夹,用来存放应用程序的,如果你全部选择默认安装的Tomcat里面会几个程序示例。通过http://localhost:8080可以访问到。如果你将来需要部署应用程序,可以直接复制到此目录下。当然啦,你也可以配置虚拟目录,这个需要到server.xml里面修改;
6、 Work文件夹用来存放JSP编译后产生的class文件,你会看到,你所编写的JSP文件全部都有与之相对应的java文件。如:login.jsp对应的是login_jsp.java,这也说明JSP是需要编译后才能执行的,看到这里,相信有些读者会想到为什么JSP第一次运行的时候会慢一些,同时也会想到JSP和Servlet之间的相同点和区别。
至于其他更详细的,大家可以参阅Tomcat相关文档。

三、Tomcat的配置文件server.xml
1、 先说那个8080端口号,我们可以在server.xml里面修改。打开server.xml文件,找到如下图:

Port="8080"就是这个端口号所在,我们可以修改其他我们喜欢的端口号,如:80,80是一个著名的端口号(具体查阅计算机网络书籍),如果我们设置成了80端口,我们可以直接在浏览器地址栏输入:http://localhost/或者http://127.0.0.1/便打开Tomcat默认页,当然啦,我们也可以设置成其他的,不过用这两个也就足够了。
如果你设置为80,在启动Tomcat中可能出现如下提示错误:

相信稍懂英文的读者都知道是什么意思:80端口已经被应用了。80端口太出名了,微软的IIS服务器的默认端口号就是它了,如想解决该病,有两种方法,第一种是吃药:停止IIS服务器;第二种是动手术:将IIS服务器给删了,我们现在学java体系的,微软的东西一边待去(傻笑)。常言道:人怕出名猪怕壮,看来端口号太出名也不好啊。哈哈,写了太久,随便找点开心的说说。
2、 好了,端口说完啦,该笑的也笑过了。继续说虚拟目录的配置,虚拟目录最好满足一定的规范,这样才能被Tomcat正确加载,虚拟目录下得有一命名为:WEB-INF的文件夹,在WEB-INF文件夹中有个名叫web.xml的文件,web.xml是项目的配置文件。(如果你的项目只有HTML、JSP文件,可以不满足此规范,但是如果存在Servlet必须要满足此规范,原因很简单:Servlet是需要在web.xml中注册的,否则Tomcat服务器不能正确识别。建议任何项目都满足此规范,哪怕项目只有HTML、JSP文件)别问为什么制定如此规范,这是规定。如果你非要弄个明白,你就加油学好java,将来找机会当面问Tomcat服务器的设计师,哈哈,又扯远啦,回正题,配置虚拟目录有两种方法:
(1)第一种是通过修改server.xml实现
在标签之中加入。如:
如果你的虚拟目录绝对路径是:E:/workspace/xzhilie/WebRoot,而你希望通过xibianyu映射名能找到该
虚拟目录。你应该在标签中插入如下代码:

在浏览器地址栏输入:http://localhost:8080/xibianyu便可以指向该虚拟目录了。
如果你需要java代码编译后自动加载的话(开发中常用到),你可以在标签中插入的代码加入:
reloadable="true"; 完整如下:

还有些其他参数设置,参阅Tomcat文档。(百度一下,你就知道)
(2)第二种是通过在conf/Catalina/localhost里添加相关的xml文件实现
如要实现第一种方法的虚拟目录的配置,在conf/Catalina/localhost目录下新建xibianyu.xml,然后将如
下代码写进:

当然xibianyu.xml的名字你可以换成其他,但是个人建议用xibianyu.xml,为什么?你命名类名都可以
小写字母开头;方法名、变量名你也可以不采用驼峰式,但是java程序书籍都建议你类名第一字母大
写;方法名、变量名采用驼峰式,理由相同。
3、 Server.xml还有其他乱七八糟的配置,至于他们的具体含义以及如何配置我都不清楚。如需更详细了解,大家可以参阅Tomcat文档,不过一般而言,了解上面说的两点配置也够用了。好读书,不求甚解,如有需要,查阅资料相信可以很快上手。

四、写在最后
Tomcat服务器的基础配置就写到这里啦,希望对各读者有所帮助,对初学者更容易上手,基于水平有限,如有写错了,还请批评指正。同时也欢迎各位技术爱好者一起探讨java技术。我的邮箱是:xzhilie@gmail.com

2008-3-17 凌晨

    推荐阅读