1 Tomcat概述
- Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其余一些公司及我的共同开发而成。因为有了Sun 的参与和支持,最新的Servlet 和JSP 规范老是能在Tomcat 中获得体现,由于Tomcat 技术先进、性能稳定,并且免费,于是深受Java 爱好者的喜好并获得了部分软件开发商的承认,成为目前比较流行的Web 应用服务器。
- Tomcat6.0 支持Servlet 2.5
- Tomcat7.0 支持Servlet3.0
- Tomcat8.0 支持Servlet 3.1
2 安装、启动、配置Tomcat
2.1 下载
步骤:html

点击【Download】跳转到以下图所示的下载页面java

- tar.gz文件是Linux操做系统下的安装版本
- exe文件是Windows系统下的安装版本
- zip文件是Windows系统下的压缩版本
2.2 安装(解压版)
- 直接把Tomcat的压缩包
解压到安装目录,例如:D:\apache-tomcat-7.0.53,即完成安装。
- D:\apache-tomcat-7.0.53,这个目录下直接包含Tomcat的bin目录,conf目录等,咱们称之为Tomcat的安装目录或根目录。
2.3 启动和中止
- JAVA_HOME:jdk的安装目录,Tomcat依赖于JDK,因此必须指定该环境变量。
- CATALINA_HOME:tomcat的安装目录,在终端(CMD)启用时,须要配置,没必要须。
- 启动:在Tomcat安装目录下的bin目录,双击startup.bat
- 中止:在Tomcat安装目录下的bin目录,双击shutdown.bat
- startup.bat会调用catalina.bat,而catalina.bat会调用setclasspath.bat,setclasspath.bat会使用JAVA_HOME环境变量,因此咱们必须在启动Tomcat以前把JAVA_HOME配置正确。若是JAVA_HOME配置不正确,就会致使startup.bat一闪而过!(.bat为在windows环境下,.sh为在Linux环境下)
- 问题:
若是双击startup.bat后窗口一闪而过,请查看JAVA_HOME是否配置正确。web
正确:apache

错误:windows


2.4 访问Tomcat
- 打开浏览器地址栏输入:http://localhost:8080
- 访问成功(结果以下图):


2.5 配置端口号
- 打开Tomcat安装目录下的conf/server.xml

- 端口:web服务器在启动时,其实是监听了本机上的一个端口,当有客户端向该端口发送请求时,web服务器就会处理请求。可是若是不是向其所监听的端口发送请求,web服务器不会作任何响应。例如:Tomcat启动监听了80端口,而访问的地址是http://localhost:8080,将不能正常访问。
- 80端口:80端口是http协议默认的端口号,也就是说若是在url中不指定端口号那默认会向80端口发送请求。
- 一个端口是一个进程。
2.6 Tomcat目录结构

- bin:该目录下存放的是二进制可执行文件,若是是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出GUI窗口启动Tomcat;若是是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但须要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来中止Tomcat;
- conf:这是一个很是很是重要的目录,这个目录下有四个最为重要的文件:
- server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等;下面会详细介绍这个文件;
- tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。能够按着该文件中的注释信息添加tomcat用户,而后就能够在Tomcat主页中进入Tomcat Manager页面了;
- web.xml:部署描述符文件,这个文件中注册了不少MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器经过这个MIME类型就知道如何处理它了。固然是在浏览器中显示这个html文件了。但若是服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来讲明文档的内容是什么类型的!
- context.xml:对全部应用的统一配置,一般咱们不会去配置它。
- lib:Tomcat的类库,里面是一大堆jar文件。若是须要添加Tomcat依赖的jar文件,能够把它放到这个目录中,固然也能够把应用依赖的jar文件放到这个目录中,这个目录中的jar全部项目均可以共享之,但这样你的应用放到其余Tomcat下时就不能再共享这个目录下的jar包了,因此建议只把Tomcat须要的jar包放到这个目录下;
- logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,若是启动Tomcat时有错误,那么异常也会记录在日志文件中,如其中有一个以"catalina.yyyy-MM-dd.log"形式命名的log文件,例如"catalina.2014-05-17.log"日志文件就是记录Tomcat服务器2014-05-17这一天的运行状况。。
- temp:存放Tomcat的临时文件,这个目录下的东西能够在中止Tomcat后删除!
- webapps:存放web项目的目录,其中每一个文件夹都是一个项目;若是这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。
- work:运行时生成的文件,最终运行的文件都在这里。经过webapps中的项目生成的!能够把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会经过JSP生成Java文件,而后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。
- LICENSE:许可证。
- NOTICE:说明文件。