Tomcat下载 安装 启动 发布项目入门介绍

文章目录

  • [1. WEB简介](#1. WEB简介)
  • [2. URL请求路径](#2. URL请求路径)
  • [3. 服务器](#3. 服务器)
  • [4. Tomcat 目录结构详解](#4. Tomcat 目录结构详解)
  • [5. Tomcat 的基本使用](#5. Tomcat 的基本使用)
  • [6. Tomcat 发布](#6. Tomcat 发布)
    • [6.1 war 包发布](#6.1 war 包发布)
      • [Tomcat 配置虚拟目录](#Tomcat 配置虚拟目录)
      • [Tomcat 配置虚拟主机](#Tomcat 配置虚拟主机)
      • [Tomcat 默认项配置](#Tomcat 默认项配置)

1. WEB简介

Web(World Wide Web)即全球广域网,也称为万维网。

它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在 Internet 上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

简而言之就是我们平时上网浏览的网页,玩的网页游戏,上网下载资源。对于程序员而言就是前端知识、web服务器知识和数据库知识的结合就是web.

web发展阶段介绍:

【1】web1.0

1994年在中国第一个web网站是中国黄页,由马云创建。属于静态网页。只能看,不能交互。发布租赁信息

【2】web2.0

动态网站。网站数据是时时更新的。数据来自于数据库的。登录网站显示用户名,天气预报,微博头条。

可以实现前后台数据的交互。

注意:

java 复制代码
网站:前端知识、web服务器知识和数据库知识。包括网页
网页:前端页面html页面

2. URL请求路径

【1】作用:通过资源路径可以访问到具体的服务器。

【2】介绍:

URL (Uniform Resource Locator) ,统一资源定位符 是对互联网上资源位置的一种表示,互联网上的每个文件都有一个唯一的URL。

【3】格式:

html 复制代码
协议://服务器的ip地址:服务器的端口号/项目名/资源路径  jdbc:mysql://localhost:3306/数据库名
 https://www.jd.com/
说明:
	1)协议:是一种规范。类似于我们之前讲解的TCP UDP(传输层),这里讲解的是应用层(http https协议)
	2)服务器的ip地址:就是访问的服务器的地址。同一个网段中服务器ip地址是唯一的。
		说明:如果我们在自己电脑上进行练习,ip地址书写127.0.0.1或者localhost
	3)服务器的端口号:访问服务器端的进程号,属于唯一标识。
	4)/项目名/资源路径

【4】浏览器通过url访问服务器的过程

html 复制代码
https://www.baidu.com/s?ie=UTF-8&wd=java

3. 服务器

【1】服务器

服务器,是提供计算服务的设备。由于服务器需要请求响应,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

【2】服务器分类

分为两类:

1.硬件服务器:服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

2.软件服务器: 服务器软件本质上是一个应用程序(由代码编写而成),运行在服务器设备上。能够接收请求并根据请求给客户端响应数据,发布资源(静态和动态)。数据库服务器、邮件服务器(易邮)、网页服务器(tomcat nginx发布网页)等

【3】常见的Web服务器

  • Tomcat: Apache软件基金开源免费的web服务器,支持JavaEE规范(Servlet/Jsp).

  • Jetty:Apache组织开源免费的小型web服务器,支持JavaEE规范.

  • JBoss: RedHat红帽公司的开源免费的web服务器,支持JavaEE规范.

  • Glass Fish:Sun公司开源免费的web服务器,支持JavaEE规范.


  • WebLogic: Oracle公司收费的web服务器,支持JavaEE规范.
  • WebSphere:IBM公司收费的web服务器,支持JavaEE规范.

4. Tomcat 目录结构详解

目录
markdown 复制代码
bin:脚本目录 *****
	启动脚本(启动服务器):startup.bat/startup.sh(mac系统)
	停止脚本(停止服务器):shutdown.bat/shutdown.sh(mac系统)

conf:配置文件目录 (config /configuration) *****
	tomcat核心配置文件:server.xml
	用户权限配置文件:tomcat-users.xml
	所有web项目默认配置文件:web.xml

lib:依赖库,tomcat和web项目中需要使用的jar包  *****

logs:日志文件.
	localhost_access_log.txt tomcat记录用户访问信息,..表示时间。
	例如:localhost_access_log.2017-04-28.txt
	
temp:临时文件目录,文件夹内内容可以任意删除。

webapps:默认情况下发布WEB项目所存放的目录。  *****

work:tomcat处理JSP的工作目录。 
<a name="xK0bJ"></a>

5. Tomcat 的基本使用

1)启动和停止

Tomcat服务器的启动文件在二进制文件目录中:,这两个文件就是Tomcat的启动文件。

Tomcat服务器的停止文件也在二进制文件目录中:,这两个文件就是Tomcat的停止文件。

其中.bat文件是针对windows系统的运行程序,.sh文件是针对linux系统的运行程序。

2)启动问题

第一个问题:启动一闪而过
原因 :没有配置环境变量。
解决办法:配置上JAVA_HOME环境变量

第二个:Address already in use : JVM_Bind

原因 :端口被占用
解决办法 :找到占用该端口的应用

进程不重要:使用cmd命令:netstat -a -o 查看pid 在任务管理器中结束占用端口的进程。

进程很重要:修改自己的端口号。修改的是Tomcat目录下\conf\server.xml中的配置。

bash 复制代码
<Connector port="8080" protocol="HTTP/1.1"
	connectionTimeout="20000"
	redirectPort="8443"
>

第三个:启动产生很多异常,但能正常启动

原因 :Tomcat中部署着很多项目,每次启动这些项目都会启动。而这些项目中有启动报异常的。
解决办法

能找到报异常的项目,就把它从发布目录中移除。

不能确定报异常的项目,就重新解压一个新的Tomcat。

第四个:其它问题

例如:启动产生异常,但是不能正常启动。此时就需要解压一个新的Tomcat启动,来确定是系统问题,还是Tomcat的问题。

所以,此时就需要具体问题,具体分析,然后再对症解决。

6. Tomcat 发布

6.1 war 包发布

把打好的war拷贝到tomcat的webapps目录中

启动服务时,tomcat会自动解压。

Tomcat 配置虚拟目录

虚拟目录的配置,支持两种方式。第一种是通过在主配置文件中添加标签实现。第二种是通过写一个独立配置文件实现。

第一种方式:在 server.xml 的 元素中加一个 元素。 path:访问资源URI。URI名称可以随便起,但是必须在前面加上一个/ docBase:资源所在的磁盘物理地址。第二种方式:是写一个独立的 xml 文件,该文件名可以随便起。在文件内写一个元素。 该文件要放在 Tomcat 目录中的conf\Catalina\localhost\目录下。需要注意的是,在使用了独立的配置文件之后,访问资源 URI 就变成了**/+文件的名称**。而 Context 的 path 属性就失效了。

Tomcat 配置虚拟主机

在元素中添加一个,其中: name:指定主机的名称 appBase:当前主机的应用发布目录 unparkWARs:启动时是否自动解压war包 autoDeploy:是否自动发布

配置示例如下:

java 复制代码
<Host name="www.snow.cn" appBase="D:\dddapps" unpackWARs="true" autoDeploy="true"/>

<Host name="www.snow.com" appBase="D:\asasasaapps" unpackWARs="true" autoDeploy="true"/>

Tomcat 默认项配置

配置默认端口

Tomcat服务器主配置文件中配置着访问端口,它在配置文件中写的值是:8080。但是它不是Tomcat的默认端口。我们此处说的默认端口是,当使用默认值的时候,端口号可以省略。Tomcat的默认端口是80
配置方式如下

java 复制代码
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

配置默认应用

有两种方式配置默认应用。

第一种:把要作为默认应用的应用,名称改为ROOT。放到webapps目录中。

第二种:写一个独立的配置文件,文件名称为ROOT.xml。

注意:ROOT必须大写。当使用了独立的ROOT.xml文件时,webapps下ROOT应用就不是默认应用了。

配置默认主页

首先要明确的是,配置默认主页是针对应用说的。是应用的默认主页。

在应用的web.xml中配置:

xml 复制代码
<welcome-file-list>
    <welcome-file>默认主页</welcome-file>
</welcome-file-list>

例如:

xml 复制代码
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
相关推荐
gorgor在码农几秒前
redis 底层数据结构
java·数据库·redis
Erosion20208 分钟前
JAVA WEB和Tomcat各组件概念
java·tomcat
G丶AEOM11 分钟前
JVM中TLAB(线程本地分配缓存区)是什么
java·jvm
《源码好优多》15 分钟前
基于Java Springboot华为数码商城交易平台
java·开发语言·spring boot
♡喜欢做梦1 小时前
【Java】二叉树:数据海洋中灯塔式结构探秘(下:基本操作)
java·数据结构·算法
Allen Bright1 小时前
Java代码操作Zookeeper(使用 Apache Curator 库)
java·zookeeper·java-zookeeper
云上星空1 小时前
K8s调度器扩展(scheduler)
java·贪心算法·kubernetes
突然好想你之路在脚下1 小时前
Kubernetes(k8s)入门到实战教程
java·容器·kubernetes
博观而约取2 小时前
Jenkins升级到最新版本后无法启动
java·linux·centos·jenkins
yang_shengy2 小时前
【JavaEE】多线程(2)
java·开发语言·多线程·