文章目录
- 6 Day08 tomcat、HTTP
- 6.1 服务器概述
- 6.1.1 什么是服务器?
- 6.2 tomcat下载、安装、启动、配置
- 6.2.1下载tomcat服务器
- 6.2.2 安装、启动tomcat服务器
- 1、安装tomcat服务器
- 2、启动tomcat服务器
- 6.2.3 修改tomcat默认端口
- 6.3 ∗ ∗ t o m c a t 目 录 结 构 ∗ ∗ \color{#f01}{** tomcat目录结构 **} ∗∗tomcat目录结构∗∗
- 6.4 虚拟主机和Web应用
- **什么是虚拟主机**? - Host
- 虚拟主机的配置 - (默认)
- 配置虚拟主机 - (自定义)
- **什么是 web 应用**?
- 6.5 web应用
- 6.5.1 ∗ ∗ W e b 应 用 的 目 录 结 构 ∗ ∗ \color{#f01}{**Web 应用的目录结构**} ∗∗Web应用的目录结构∗∗ - WEB-INF
- ∗ ∗ w e b . x m l ∗ ∗ \color{#f01}{**web.xml**} ∗∗web.xml∗∗
- 6.6 ∗ ∗ 扩 展 内 容 ∗ ∗ \color{#f01}{**扩展内容**} ∗∗扩展内容∗∗
- 6.6.1 配置WEB应用的主页
- 6.6.3 配置缺省的(默认的)WEB应用
- 6.6.3打war包
6 Day08 tomcat、HTTP
6.1 服务器概述
6.1.1 什么是服务器?
服务器:分为 服务器硬件 和 服务器软件。在硬件服务器(一台计算机)安装了服务器软件,就可以对外界提供服务,比如:让其他计算机上的浏览器来进行访问。
- 服务器硬件: 是一台在互联网上具有独立IP地址的计算机,比如我们面前的计算机也可以作为服务器使用。
- 服务器软件: 就是一个计算机程序(软件), 比如在mysql服务器软件、tomcat服务器软件。
###6.1.2 什么是Web服务器?
- Web服务器是可以向“发出请求的浏览器提供文档”的程序。 比如在访问百度时,其实就是在访问百度的服务器。
- Web服务器是指驻留于因特网上某种类型计算机的程序。当浏览器(客户端)连接到服务器,请求服务器上的文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第1张图片](http://img.e-com-net.com/image/info8/6547c8c72cc24ecb9790b166dcfc8f41.jpg)
tomcat就是一个web服务器,是由apache组织提供的一款服务器软件,特点是小巧灵活,免费开源,简单易用。
6.2 tomcat下载、安装、启动、配置
6.2.1下载tomcat服务器
下载地址:http://tomcat.apache.org/
tomcat有很多版本,有解压版 和 安装版,还分windows (还分为32位和64位版)和 linux版,根据自己的需求,选择对应的版本下载。
tomcat服务器运行需要jdk的支持,版本对应为:
- tomcat5 需要jdk4以上支持
- tomcat6 需要jdk5以上支持
- tomcat7 需要jdk6以上支持
- tomcat8 需要jdk7以上支持
6.2.2 安装、启动tomcat服务器
1、安装tomcat服务器
绿色版解压之后就可以使用(原则:安装的路径中不要包含中文和空格)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/495fd09d9cf543f8ac4e60099e4bcef9.jpg)
解压后还需要配置JAVA_HOME环境变量,指向jdk的根目录,指定tomcat启动时使用哪个jdk。
2、启动tomcat服务器
启动tomcat服务器时,tomcat服务器程序会去寻找一个JAVA_HOME环境变量,该变量配置JDK所在位置。
(tomcat服务器是Java语言开发的,需要JDK支持才能运行)
配 置 T o m c a t 环 境 变 量 , 变 量 名 必 须 为 : \color{#f01}{配置Tomcat环境变量,变量名必须为:} 配置Tomcat环境变量,变量名必须为:CATALINA_HOM
- 《Tomcat安装配置及CATALINA_HOME environment variable is not defined correctly问题的解决》https://blog.csdn.net/u013393958/article/details/78272242
如何配置JAVA_HOME环境变量:
变量名: JAVA_HOME
变量值: C:\Program Files\Java\jdk1.8.0_45
配置Path变量的两种方式:
方式一:
Path=C:\Program Files\Java\jdk1.8.0_45\bin;xxx;xxx;xxx;
方式二:
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_45
Path=%JAVA_HOME%\bin;xxx;xxx;xxx;
启动、关闭tomcat服务器:
通过 [tomcat_home]/bin/startup.bat 文件可以启动tomcat服务器
(linux 的话 .sh后缀)
通过 [tomcat_home]/bin/shutdown.bat 文件可以关闭tomcat服务器
在tomcat启动之后,默认会监听8080端口(没有修改的前提下),如图:
![在这里插入图片描述](http://img.e-com-net.com/image/info8/97cc41024b624589a5546112da87400c.jpg)
可以通过在浏览器中输入以下地址,访问tomcat服务器的主页:
http://localhost:8080
如果访问成功,则说明已经成功的安装了tomcat,并且tomcat启动也成功了。
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第2张图片](http://img.e-com-net.com/image/info8/db70dad9ea024e94a9b9bcb26fe84c00.jpg)
6.2.3 修改tomcat默认端口
tomcat服务器在启动后默认监听8080端口,而8080
端口在访问时是不能省略的。
如果想省略端口,只能将8080改为80端口才可以省略。
修改访问端口!:
找到[tomcat_home]/conf/server.xml
文件的69行的Connector标签,将上面的port属性的值改为80,保存文件,重启服务器即可!
![在这里插入图片描述](http://img.e-com-net.com/image/info8/5794bb0f545c440cb7e70091185726d1.jpg)
FAQ端口占用问题:
在启动tomcat服务器时,可能会遇到端口占用问题,如下图:
![在这里插入图片描述](http://img.e-com-net.com/image/info8/ac1744d8fbfb405e8d5f8cbda194b822.jpg)
原因分析:
情况一:可能是之前的tomcat服务器没有完全关闭,仍然在占用80端口,导致服务器再次启动时,启动失败。
解决方式:运行shutdown.bat文件,将tomcat按照正常流程再关闭一次即可。如果再次启动服务器成功,说明问题已解决,否则看情况二。
情况二:可能是其他程序占用了80端口,导致服务器启动失败。
解决方式:打开一个cmd窗口,通过 netstat -ano
命令查看当前系统中活动的进程,找到80端口对应的进程编号(PID),根据进程编号将进程结束即可!
taskkill /f /pid 进程编号
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第3张图片](http://img.e-com-net.com/image/info8/a4993e940aa94e58824fffb7b0c3dc61.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/7e3fab7c66a745b7bc9da94a9a8ef99d.jpg)
文章目录
- 6 Day08 tomcat、HTTP
- 6.1 服务器概述
- 6.1.1 什么是服务器?
- 6.2 tomcat下载、安装、启动、配置
- 6.2.1下载tomcat服务器
- 6.2.2 安装、启动tomcat服务器
- 1、安装tomcat服务器
- 2、启动tomcat服务器
- 6.2.3 修改tomcat默认端口
- 6.3 ∗ ∗ t o m c a t 目 录 结 构 ∗ ∗ \color{#f01}{** tomcat目录结构 **} ∗∗tomcat目录结构∗∗
- 6.4 虚拟主机和Web应用
- **什么是虚拟主机**? - Host
- 虚拟主机的配置 - (默认)
- 配置虚拟主机 - (自定义)
- **什么是 web 应用**?
- 6.5 web应用
- 6.5.1 ∗ ∗ W e b 应 用 的 目 录 结 构 ∗ ∗ \color{#f01}{**Web 应用的目录结构**} ∗∗Web应用的目录结构∗∗ - WEB-INF
- ∗ ∗ w e b . x m l ∗ ∗ \color{#f01}{**web.xml**} ∗∗web.xml∗∗
- 6.6 ∗ ∗ 扩 展 内 容 ∗ ∗ \color{#f01}{**扩展内容**} ∗∗扩展内容∗∗
- 6.6.1 配置WEB应用的主页
- 6.6.3 配置缺省的(默认的)WEB应用
- 6.6.3打war包
6.3 ∗ ∗ t o m c a t 目 录 结 构 ∗ ∗ \color{#f01}{** tomcat目录结构 **} ∗∗tomcat目录结构∗∗
6.3.1 tomcat目录结构介绍
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第4张图片](http://img.e-com-net.com/image/info8/b63e3d0436724891bb97eab28ee9300e.jpg)
tomcat 服务器安装根目录下有很多子目录,这些目录的作用是:
- bin:存放了tomcat服务器中的可执行的批处理文件
(startup.bat、shutdown.bat)
- conf:存放了tomcat相关的配置文件
(server.xml是tomcat服务器核心配置文件)
- lib:是tomcat服务器运行时所依赖的jar包的存放目录
(servlet的jar包、JSP的jar包)
- logs:是tomcat服务器运行时产生的日志文件的存放目录
(在启动、运行 tomcat 服务器时,会输出很多日志信息,这些日志信息会以文件形式保存在 logs 目录下)
- temp:临时文件的存放目录,tomcat服务器会自己管理
- work:tomcat服务器在运行时产生的工作文件
(JSP翻译后的Servlet文件、Session的序列化文件等)
- webapps目录:( 重 要 \color{#f01}{重要} 重要)是 localhost 虚拟主机默认管理的目录,可以将 web 应用发布(存放)到该目录下,就可以通过localhost主机访问该web应用中的资源了。
- 解释:webapps 就是一个资源(html、css、js、图片、servlet、jsp。。)的发布目录,放在其中的资源文件就可以通过浏览器访问。
文章目录
- 6 Day08 tomcat、HTTP
- 6.1 服务器概述
- 6.1.1 什么是服务器?
- 6.2 tomcat下载、安装、启动、配置
- 6.2.1下载tomcat服务器
- 6.2.2 安装、启动tomcat服务器
- 1、安装tomcat服务器
- 2、启动tomcat服务器
- 6.2.3 修改tomcat默认端口
- 6.3 ∗ ∗ t o m c a t 目 录 结 构 ∗ ∗ \color{#f01}{** tomcat目录结构 **} ∗∗tomcat目录结构∗∗
- 6.4 虚拟主机和Web应用
- **什么是虚拟主机**? - Host
- 虚拟主机的配置 - (默认)
- 配置虚拟主机 - (自定义)
- **什么是 web 应用**?
- 6.5 web应用
- 6.5.1 ∗ ∗ W e b 应 用 的 目 录 结 构 ∗ ∗ \color{#f01}{**Web 应用的目录结构**} ∗∗Web应用的目录结构∗∗ - WEB-INF
- ∗ ∗ w e b . x m l ∗ ∗ \color{#f01}{**web.xml**} ∗∗web.xml∗∗
- 6.6 ∗ ∗ 扩 展 内 容 ∗ ∗ \color{#f01}{**扩展内容**} ∗∗扩展内容∗∗
- 6.6.1 配置WEB应用的主页
- 6.6.3 配置缺省的(默认的)WEB应用
- 6.6.3打war包
6.4 虚拟主机和Web应用
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第5张图片](http://img.e-com-net.com/image/info8/a622ca53674f45feab71d285eb5a59fc.jpg)
什么是虚拟主机? - Host
虚拟主机就是tomcat服务器中配置的一个站点
tomcat 服务器中默认提供了一个虚拟主机。就是 localhost 主机
虚拟主机的配置 - (默认)
conf\server.xml 下
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第6张图片](http://img.e-com-net.com/image/info8/41aa20631e7c43b28cdfd12ec5358552.jpg)
配置虚拟主机 - (自定义)
- 在 serve.xml 中添加一个 Host 标签,配置主机名和默认管理目录
- 在硬盘上创建主机所管理的目录 - (可以忽略:因为,如果没有目录,会自动创建)
- 启动服务器,服务器检测到虚拟主机以及对应的目录。
- 在
C:\Windows\System32\drivers\etc
文件中,添加主机名和 ip 地址的映射。
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第7张图片](http://img.e-com-net.com/image/info8/b6e06bae36bc411aabf8a9a3ee02701c.jpg)
开心的话,刷新下缓存ipconfig /flushdns
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第8张图片](http://img.e-com-net.com/image/info8/c734d442e6af4f2cb61ddde399ecabce.png)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/b88bc720614e47afb9f48c63106379f2.jpg)
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第9张图片](http://img.e-com-net.com/image/info8/8f2a4596afbe410f9c196b5b1ec815f5.jpg)
放一个文件
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第10张图片](http://img.e-com-net.com/image/info8/64a3c4aa3cb14dceb7f65cfbfac2291d.jpg)
三个值分别对应三个虚拟主机,分配到同一 “本地ip地址” 127.0.0.1
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第11张图片](http://img.e-com-net.com/image/info8/43a2ecc593874371ab5beb7fa3d5e56e.jpg)
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第12张图片](http://img.e-com-net.com/image/info8/fe6528b9aeaf4a9eb78fbdeeca71f632.jpg)
浏览成功!
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第13张图片](http://img.e-com-net.com/image/info8/80e21c992c774d93890543b32d04c69d.jpg)
什么是 web 应用?
web 引用时发布到虚拟主机中的一个目录,该目录中可能会包含很多的 web 资源文件(比如 html、css、js、图片、servlet、jsp 等) ,这些资源文件按照功能和一定的目录结构组成的目录就是一个 web 应用。
虚拟主机中可以发布很多个 web 应用(但是不能讲资源文件直接放在 虚拟主机目录下)
web资源可以放在 web 应用的目录下,将 web 应用方在 虚拟主机中,才可以访问虚拟主机中的某一个web应用下的某一个资源
访问路径:http://主机名/包名.../资源名
文章目录
- 6 Day08 tomcat、HTTP
- 6.1 服务器概述
- 6.1.1 什么是服务器?
- 6.2 tomcat下载、安装、启动、配置
- 6.2.1下载tomcat服务器
- 6.2.2 安装、启动tomcat服务器
- 1、安装tomcat服务器
- 2、启动tomcat服务器
- 6.2.3 修改tomcat默认端口
- 6.3 ∗ ∗ t o m c a t 目 录 结 构 ∗ ∗ \color{#f01}{** tomcat目录结构 **} ∗∗tomcat目录结构∗∗
- 6.4 虚拟主机和Web应用
- **什么是虚拟主机**? - Host
- 虚拟主机的配置 - (默认)
- 配置虚拟主机 - (自定义)
- **什么是 web 应用**?
- 6.5 web应用
- 6.5.1 ∗ ∗ W e b 应 用 的 目 录 结 构 ∗ ∗ \color{#f01}{**Web 应用的目录结构**} ∗∗Web应用的目录结构∗∗ - WEB-INF
- ∗ ∗ w e b . x m l ∗ ∗ \color{#f01}{**web.xml**} ∗∗web.xml∗∗
- 6.6 ∗ ∗ 扩 展 内 容 ∗ ∗ \color{#f01}{**扩展内容**} ∗∗扩展内容∗∗
- 6.6.1 配置WEB应用的主页
- 6.6.3 配置缺省的(默认的)WEB应用
- 6.6.3打war包
6.5 web应用
6.5.1 ∗ ∗ W e b 应 用 的 目 录 结 构 ∗ ∗ \color{#f01}{**Web 应用的目录结构**} ∗∗Web应用的目录结构∗∗ - WEB-INF
Web应用本身就是一个目录,该目录下可以包含其他的目录和文件
基本的目录结构:
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第14张图片](http://img.e-com-net.com/image/info8/45aae65d316c4d9ab76ee3450f3a8930.jpg)
news(Web应用/目录)
|
|-- 其他目录: 放在其他目录中的资源文件, 可以被浏览器直接访问。
|-- WEB-INF目录:这是一个受保护的目录,放在这个目录下的资源文件,不可以被浏览器直接访问(不是不能,是不能直接访问)。
|-- classes目录:存放编译后的class文件
|-- lib目录:存放web应用所依赖的 jar 包
|-- web.xml文件:web应用的核心配置文件。
(如:配置主页/配置Servlet/配置Session超时时间/配置过滤器/配置监听器等)
- 例子:WEB-INF 内文件无法找到
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第15张图片](http://img.e-com-net.com/image/info8/a576b5a4c21246898ec918da8ebc92b2.jpg)
∗ ∗ w e b . x m l ∗ ∗ \color{#f01}{**web.xml**} ∗∗web.xml∗∗
参考:
apache-tomcat-8.5.49\conf\web.xml
xml必要内容
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
web-app>
6.5.2 部署(发布)web应用到虚拟主机中
将Web应用的目录拷贝到虚拟主机所管理的目录(webapps)下即可。
例如:
将news应用的目录,拷贝到webapps目录下,就相当于将news发布到了localhost主机中
这种发布方式不用重启服务器就可以直接访问。
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第16张图片](http://img.e-com-net.com/image/info8/fcb48053dfc34a9aa641154853a0feb7.jpg)
查看程序,会有一条信息,显示发布的记录。(在日志中回看)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/7e5c287b0b6d4355a480f152164b43c0.png)
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第17张图片](http://img.e-com-net.com/image/info8/85c06576841c4dadae1942730329a9a2.jpg)
- 如果打不开,看看
WEB-INF/web.xml
有没有配置对
文章目录
- 6 Day08 tomcat、HTTP
- 6.1 服务器概述
- 6.1.1 什么是服务器?
- 6.2 tomcat下载、安装、启动、配置
- 6.2.1下载tomcat服务器
- 6.2.2 安装、启动tomcat服务器
- 1、安装tomcat服务器
- 2、启动tomcat服务器
- 6.2.3 修改tomcat默认端口
- 6.3 ∗ ∗ t o m c a t 目 录 结 构 ∗ ∗ \color{#f01}{** tomcat目录结构 **} ∗∗tomcat目录结构∗∗
- 6.4 虚拟主机和Web应用
- **什么是虚拟主机**? - Host
- 虚拟主机的配置 - (默认)
- 配置虚拟主机 - (自定义)
- **什么是 web 应用**?
- 6.5 web应用
- 6.5.1 ∗ ∗ W e b 应 用 的 目 录 结 构 ∗ ∗ \color{#f01}{**Web 应用的目录结构**} ∗∗Web应用的目录结构∗∗ - WEB-INF
- ∗ ∗ w e b . x m l ∗ ∗ \color{#f01}{**web.xml**} ∗∗web.xml∗∗
- 6.6 ∗ ∗ 扩 展 内 容 ∗ ∗ \color{#f01}{**扩展内容**} ∗∗扩展内容∗∗
- 6.6.1 配置WEB应用的主页
- 6.6.3 配置缺省的(默认的)WEB应用
- 6.6.3打war包
6.6 ∗ ∗ 扩 展 内 容 ∗ ∗ \color{#f01}{**扩展内容**} ∗∗扩展内容∗∗
6.6.1 配置WEB应用的主页
在访问一个主页时,主页的路径是可以省略的
如何将hello.html配置当前应用的主页???
在web.xml文件中的跟标签内部添加如下内容:
<welcome-file-list>
<welcome-file>hello.htmlwelcome-file>
welcome-file-list>
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第18张图片](http://img.e-com-net.com/image/info8/85c06576841c4dadae1942730329a9a2.jpg)
6.6.3 配置缺省的(默认的)WEB应用
因为在访问缺省Web应用下的资源时,在访问路径中不用写缺省的Web应用名字。
如何将Web应用配置为缺省的web应用??
将 W e b 应 用 的 名 字 改 为 一 个 大 写 的 R O O T 即 可 ! ! \color{#f01}{将Web应用的名字改为一个大写的ROOT即可!!} 将Web应用的名字改为一个大写的ROOT即可!!
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第19张图片](http://img.e-com-net.com/image/info8/1198fe19149c4fa1947476a0f8ed426a.jpg)
6.6.3打war包
为什么?
war
、jar
都是java
中的一种压缩包。
类似于windows的zip、rar包
可以将Web应用中的所有内容打成一个war包。
这样做的好处是:
- 将web应用中的所有目录和文件打成一个war包,便于传输
- 将web应用打成一个war包,体积会减少,可以节省带宽
- war包发布到服务器后, 会自动解压发布。( 最 重 要 \color{#f01}{最重要} 最重要)
怎么做?
如何打一个war
包:
- 进入web应用的目录,
- 将web应用下的所有目录和文件全部选中,
- 添加到一个xxx.zip压缩包中
(注意不能是rar包,只能是zip),
- 再将文件的后缀名改为war即可!!
![Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第20张图片](http://img.e-com-net.com/image/info8/a0f4007b16dc4cd3a3a5cf3861481dce.jpg)
注意事项:
- 打成的war包的名字不能是中文的,且不能和已发布的应用名重名!
- war包中不能包含中文的目录或文件。
- xxx。war 包的名字不能和已发布的 web 应用的目录名重复。
如果出现以上问题,war包将不会自动解压!
.war格式,在虚拟主机根目录下,会被自动解压
所以说:“ war包发布到服务器后, 会自动解压发布”