# Tomcat容器入门介绍
### Tomcat环境配置
PS:JDK的安装这里就不讲了,找到安装包直接下一步下一步就行了。
#### 1、配置JDK
在Windows10下,找到环境变量
![](https://box.kancloud.cn/2016-02-23_56cbf5fd22dc6.jpg)
在环境变量中添加JDK主目录
格式为:JAVA_HOME= 指向你的jdk的主目录(并不是bin文件目录)
![](https://box.kancloud.cn/2016-02-23_56cbf5fd465be.jpg)
在环境变量中添加路径
格式为:path = %JAVA_HOME%\bin;
![](https://box.kancloud.cn/2016-02-23_56cbf5fd577f6.jpg)
在环境变量中添加classpath
格式为:classpath: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
![](https://box.kancloud.cn/2016-02-23_56cbf5fd7305d.jpg)
至此,JDK就配置完了。
PS:如果在不配置JAVAHOME的前提下可以用如下方法启动tomcat
在startup.bat的第25行中添加set JAVA_HOME=JKD路径
![](https://box.kancloud.cn/2016-02-23_56cbf5fd877ce.jpg)
#### 2、启动tomcat
到 tomcat 主目录下的bin/startup.bat点击启动
![](https://box.kancloud.cn/2016-02-23_56cbf5fda8d88.jpg)
#### 3、验证是否安装成功
在浏览器中输入http://127.0.0.1:8080(8080是默认端口,如果该端口被占用需要到主目录/conf/server.xml中改端口号)
![](https://box.kancloud.cn/2016-02-23_56cbf5fdcb568.jpg)
出现这个界面,就表示tomcat已经配置成功了。
### Tomcat配置异常及其解决
#### 1、JAVA_HOME 配置错误,或者没有配置
这时候,可以按照上面的步骤在来一次,在命令行中输入java -version,如果显示
![](https://box.kancloud.cn/2016-02-23_56cbf5fde2f31.jpg)
就表示成功了。
#### 2、如果你的机器已经占有了8080 端口,则无法启动
解决方法
(1) 你可以8080 先关闭
netstat –an
netstat –anb 来查看谁占用该8080
(2) 主动改变tomcat的端口.
到 conf/server.xml 文件中修改
![](https://box.kancloud.cn/2016-02-23_56cbf5fe015df.jpg)
#### 3、 能够正常启动,但是会导航到另外一个页面
去修改工具->管理加载项,把默认的导航给禁用即可
#### 4、浏览器显示404 Not Found
在访问 tomcat时候,一定要保证 tomcat 服务器是启动,不然就会出现这种错误。
### Tomcat的目录结构文件
![](https://box.kancloud.cn/2016-02-23_56cbf5fe17237.jpg)
**bin**: 启动和关闭tomcat的bat文件
**conf**: 配置文件
-->**server.xml **: 该文件用于配置和 server 相关的信息, 比如 tomcat启动端口后,配置Host, 配置Context 即web应用
-->**web.xml** : 该文件配置与 web应用(web应用就相当于是一个 web站点)
-->**tomcat-users.xml**: 该文件用户配置tomcat 的用户密码 和 权限
**lib** 目录: 该目录放置运行tomcat 运行需要的jar包
**logs** 目录:存放日志, 当我们需要去查看日志的时候,很有用!,当我们启动tomcat错误时候,可以查询信息.
**webapps** 目录: 该目录下,放置我们的web应用(web 站点), 比如:
建立 web1 目录 下面放置我们的html 文件 jsp 文件..图片... 则 web1就被当做一个web应用管理起来(☞ 特别说明tomcat 6.0 以后支持 tomcat 5 版本 还有别的设置)
**work**: 工作目录: 该目录用于存放jsp被访问后 生成的对应的 server文件 和.class文件
### 如何访问一个web应用的某个文件
![](https://box.kancloud.cn/2016-02-23_56cbf5fe6bebc.jpg)
PS:想要访问一个WEB应用中的某个文件可以采用url(Uniform Resource Locator)统一资源定位符来访问,其格式如上。
### Tomcat应用部署目录结构规范
![](https://box.kancloud.cn/2016-02-23_56cbf5fe88f5b.jpg)
### Tomcat管理虚拟目录
需求:当希望将web应用部署到非webapps目录下时,怎么解决这问题。
PS:可以通过虚拟目录配置技术解决。
![](https://box.kancloud.cn/2016-02-23_56cbf5fea56bd.jpg)
#### 配置步骤
1、找到server.xml文件
2、编辑host节点,添加Context path
<Context path="/应用名" docBase="web应用所在的绝对路径"/>
例如:要访问该web应用根目录下的hello.html文件
实际访问时输入的地址:http://localhost:8088/应用名/hello.html
3、重启、重新部署生效
#### context的几个属性的说明
**path**: 应用名称
**docbase**: web应用所在的绝对路径
**reloadable**: 如果设为ture ,表示 tomcat 会自动更新 web应用,但是这个开销大,建议在开发过程中,可以设为true, 但是真的发布了,则应当设为false
**upackWAR**: 如果设为 ture ,则自动解压,否则不自动解压.
PS:war包的打包和Tomcat怎么部署war包可以使用搜索引擎找到。
### 配置域名
实现的步骤如下:
(1) 在C:\WINDOWS\system32\drivers\etc 下的host文件 添加127.0.0.1 www.myweb.com
(2) 在tomcat 的server.xml文件添加主机名
~~~
<Host name="www.myweb.com" appBase="d:\web3”>
<Context path="/" docBase="d:\web3" />
</Host>
~~~
(3) 在d:\web3 加入了一个 /WEB-INF/web.xml 把 hello2.html设为首页面,如果连端口都不希望带,则可以把tomcat的启动端口设为80即可.
(4) 重启生效
### Tomcat框架机制
![](https://box.kancloud.cn/2016-02-23_56cbf5febe08e.jpg)
### Tomcat配置默认主机
![](https://box.kancloud.cn/2016-02-23_56cbf5fee2b10.jpg)
在tomcat/conf/server.xml 文件
<Engine name="Catalina" defaultHost="主机名">
如:<Engine name="Catalina" defaultHost="www.myweb.com">
----------参考《韩顺平.细说Servlet》