Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包

文章目录

  • 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.3.1 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.5.2 部署(发布)web应用到虚拟主机中
    • 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张图片

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服务器

绿色版解压之后就可以使用(原则:安装的路径中不要包含中文和空格)

在这里插入图片描述

解压后还需要配置JAVA_HOME环境变量,指向jdk的根目录,指定tomcat启动时使用哪个jdk。

2、启动tomcat服务器

启动tomcat服务器时,tomcat服务器程序会去寻找一个JAVA_HOME环境变量,该变量配置JDK所在位置
tomcat服务器是Java语言开发的,需要JDK支持才能运行

配 置 T o m c a t 环 境 变 量 , 变 量 名 必 须 为 : \color{#f01}{配置Tomcat环境变量,变量名必须为:} TomcatCATALINA_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端口(没有修改的前提下),如图:
在这里插入图片描述

可以通过在浏览器中输入以下地址,访问tomcat服务器的主页:
http://localhost:8080
如果访问成功,则说明已经成功的安装了tomcat,并且tomcat启动也成功了。
Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第2张图片

6.2.3 修改tomcat默认端口

tomcat服务器在启动后默认监听8080端口,而8080端口在访问时是不能省略的。
如果想省略端口,只能将8080改为80端口才可以省略。

修改访问端口!
找到[tomcat_home]/conf/server.xml文件的69行的Connector标签,将上面的port属性的值改为80,保存文件,重启服务器即可!
在这里插入图片描述

FAQ端口占用问题
在启动tomcat服务器时,可能会遇到端口占用问题,如下图:
在这里插入图片描述
原因分析:


情况一:可能是之前的tomcat服务器没有完全关闭,仍然在占用80端口,导致服务器再次启动时,启动失败。
解决方式:运行shutdown.bat文件,将tomcat按照正常流程再关闭一次即可。如果再次启动服务器成功,说明问题已解决,否则看情况二。


情况二:可能是其他程序占用了80端口,导致服务器启动失败。
解决方式:打开一个cmd窗口,通过 netstat -ano 命令查看当前系统中活动的进程,找到80端口对应的进程编号(PID),根据进程编号将进程结束即可!
taskkill /f /pid 进程编号
Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第3张图片
在这里插入图片描述


文章目录

  • 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.3.1 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.5.2 部署(发布)web应用到虚拟主机中
    • 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张图片

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.3.1 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.5.2 部署(发布)web应用到虚拟主机中
    • 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张图片

什么是虚拟主机? - Host

虚拟主机就是tomcat服务器中配置的一个站点
tomcat 服务器中默认提供了一个虚拟主机。就是 localhost 主机

虚拟主机的配置 - (默认)

conf\server.xml 下
Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第6张图片

配置虚拟主机 - (自定义)

  • 在 serve.xml 中添加一个 Host 标签,配置主机名和默认管理目录
  • 在硬盘上创建主机所管理的目录 - (可以忽略:因为,如果没有目录,会自动创建)
  • 启动服务器,服务器检测到虚拟主机以及对应的目录。
  • C:\Windows\System32\drivers\etc 文件中,添加主机名和 ip 地址的映射。

Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第7张图片
开心的话,刷新下缓存ipconfig /flushdns

Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第8张图片
在这里插入图片描述
Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第9张图片
放一个文件
Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第10张图片

三个值分别对应三个虚拟主机,分配到同一 “本地ip地址” 127.0.0.1
Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第11张图片

Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第12张图片
浏览成功!
Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第13张图片

什么是 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.3.1 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.5.2 部署(发布)web应用到虚拟主机中
    • 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张图片

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张图片

∗ ∗ 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张图片
查看程序,会有一条信息,显示发布的记录。(在日志中回看)

在这里插入图片描述

Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第17张图片

  • 如果打不开,看看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.3.1 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.5.2 部署(发布)web应用到虚拟主机中
    • 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配置为主页之前,访问hello.html的路径为:
    http://localhost/hello.html

  • 如果将hello.html配置为主页,访问hello.html的路径为:
    http://localhost

在访问一个主页时,主页的路径是可以省略的

如何将hello.html配置当前应用的主页???
在web.xml文件中的跟标签内部添加如下内容:

<welcome-file-list>
	<welcome-file>hello.htmlwelcome-file>
welcome-file-list>

Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第18张图片

6.6.3 配置缺省的(默认的)WEB应用

  • 在将news配置为缺省的Web应用之前,访问news下的hello.html的路径为:
    http://localhost/news/hello.html

  • 如果将news配置为缺省的Web应用,再去访问news下的hello.html的路径为:
    http://localhost/hello.html

因为在访问缺省Web应用下的资源时,在访问路径中不用写缺省的Web应用名字。

如何将Web应用配置为缺省的web应用??

将 W e b 应 用 的 名 字 改 为 一 个 大 写 的 R O O T 即 可 ! ! \color{#f01}{将Web应用的名字改为一个大写的ROOT即可!!} WebROOT!!

Java培优班 - 第二十八天 - Part1:tomcat - 安装配置、目录结构(WEB-INF、web.xml)、自定义虚拟主机、发布、war包_第19张图片

6.6.3打war包

为什么?

warjar都是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张图片

注意事项:

  1. 打成的war包的名字不能是中文的,且不能和已发布的应用名重名!
  2. war包中不能包含中文的目录或文件。
  3. xxx。war 包的名字不能和已发布的 web 应用的目录名重复。

如果出现以上问题,war包将不会自动解压!

.war格式,在虚拟主机根目录下,会被自动解压
所以说:“ war包发布到服务器后, 会自动解压发布”

你可能感兴趣的:(java,培优班,tomcat,#,网络服务,-,JSON)