tomcat的启动环境是要需要配置jdk的,本次示例用的是jdk1.8和tomcat 8.5.

jdk环境变量配置可以在网上随意找到,这里就不再作示范了。

什么是Tomcat

Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。


为什么我们需要用到Tomcat

如果你学过html,css,你会知道你写的页面只能自己访问,别人不能远程访问你写的页面,Tomcat就是提供能够让别人访问自己写的页面的一个程序。

相关术语介绍

tomcat结构目录

目录的简单介绍

  1. bin:启动和关闭tomcat的bat文件
  2. conf:配置文件

    • server.xml该文件用于配置server相关的信息,比如tomcat启动的端口号,配置主机(Host)
    • web.xml文件配置与web应用(web应用相当于一个web站点)
    • tomcat-user.xml配置用户名密码和相关权限.
  3. lib:该目录放置运行tomcat运行需要的jar包
  4. logs:存放日志,当我们需要查看日志的时候,可以查询信息
  5. webapps:放置我们的web应用
  6. work工作目录:该目录用于存放jsp被访问后生成对应的server文件和.class文件

webapps目录的详细说明

在webapps中建立了web1目录,下面放置我们的html文件,jsp文件,图片等等,则web1就被当做web应用管理起来【tomcat6.0以后的版本才支持】

例子:在webapps下创建一个web站点,在web站点下创建一个html文件,访问html文件

web站点的目录是有规范的

为什么要这样设置web站点目录呢?

  • 需求:我有多个html文件,想把其中的一个html文件作为我web站点的首页。
  • 如果没有WEB-INF目录下的web.xml文件支持,是无法解决我的需求的
  • 这个规范是约定熟成的。

下面将web站点下的html2.xml文件作为站点的首页

  • 新建一个WEB-INF目录

在WEB-INF目录下创建一个web.xml

  • web.xml我们不可能会写,所以可以在webapps目录下其他的站点中抄一份过来【复制ROOT/WEB-INF/web.xml的文件到自己的站点中】
  • 在web.xml中添加以下代码
<?xml version="1.0" encoding="UTF-8"?>
<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_4_0.xsd"
version="4.0"> <welcome-file-list>
<welcome-file>html2.html</welcome-file>
</welcome-file-list>
</web-app>

访问web站点【helloword2.html已经是web站点的首页了,所以不需要指定资源访问了】

配置虚拟目录

为什么需要配置虚拟目录?

  • 如果把所有web站点的目录都放在webapps下,可能导致磁盘空间不够用,也不利于对web站点目录的管理【如果存在非常多的web站点目录】
  • 把web站点的目录分散到其他磁盘管理就需要配置虚拟目录【默认情况下,只有webapps下的目录才能被Tomcat自动管理成一个web站点】
  • 把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射

配置虚拟目录方法一:

  • 在其他盘符下创建一个web站点目录,并创建WEB-INF目录和一个html文件。

找到Tomcat目录下/conf/server.xml文件

在server.xml中的<Host>节点下添加如下代码。path表示的是访问时输入的web项目名,docBase表示的是站点目录的绝对路径

<Context path="/web3" docBase="E:\web3"/>

配置虚拟目录方法二:

  • 进入到confCatalinalocalhost文件下,创建一个xml文件,该文件的名字就是站点的名字。

访问web站点下的html资源

配置临时域名

访问Tomcat服务器有好几种方式

  • 使用localhost域名访问【localhost代表本机】
  • 使用ip地址127.0.0.1访问【该ip地址也是本机】
  • 使用机器名称访问【只限用于本机上或者局域网】
  • 使用本机IP地址访问【在cmd中输入ipconfig可以查询到本机IP地址】
  • 还可以为机器配置临时域名

配置临时域名步骤

  • 打开到C:WindowsSystem32driversetc下,找到hosts文件

设置虚拟主机

什么是虚拟主机?

多个不同域名的网站共存于一个Tomcat中

为什么需要用到虚拟主机?

例子:我现在开发了4个网站,有4个域名。如果我不配置虚拟主机,一个Tomcat服务器运行一个网站,我就需要4台电脑才能把4个网站运行起来。

配置虚拟主机的步骤

  • 在tomcat的server.xml文件中添加主机名
<Host name="cat"  appBase="E:\web3"
unpackWARs="true" autoDeploy="true">

访问虚拟主机下的web站点

Tomcat体系结构

浏览器访问WEB资源的流程图

关于tomcat的一些基础知识的更多相关文章

  1. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  2. Linux基础知识整理

    一.基础知识 1.Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件 ...

  3. Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

    JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...

  4. [JIT_APP]Java基础知识总结

    一.Java语言的基础知识 1. 开发Java语言的公司 美国Sun(Sum Microsystems)公司开发.   2.Java的3个版本 J2SE(Java2 Standard Edition) ...

  5. Linux基础知识入门

    [Linux基础]Linux基础知识入门及常见命令.   前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...

  6. Spring框架基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-spring-framework/ Spring框架简介 Spring , 一个开源的框架 , ...

  7. 第一天上午——HTML网页基础知识以及相关内容

    今天上午学习了HTML基础知识以及相关内容,还有DW的基本使用方法. HTML(HyperText Markup Language):超文本标记语言,超文本:网页中除了包含文本文字之外,还包含了图片, ...

  8. Shiro第一篇【Shiro的基础知识、回顾URL拦截】

    Shiro基础知识 在学习Shiro这个框架之前,首先我们要先了解Shiro需要的基础知识:权限管理 什么是权限管理? 只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安 ...

  9. JVM菜鸟进阶高手之路十(基础知识开场白)

    转载请注明原创出处,谢谢! 最近没有什么实战,准备把JVM知识梳理一遍,先以开发人员的交流来谈谈jvm这块的知识以及重要性,依稀记得2.3年前用solr的时候老是经常oom,提到oom大家应该都不陌生 ...

随机推荐

  1. django-rest-framework-源码解析001-整体框架

    简介 Django Rest Framework是一个强大且灵活的工具包,主要用以构建RESTful风格的Web API. Django REST Framework(简称DRF)可以在Django的 ...

  2. windows docker xshell 默认登录密码

    boot2docker用户和密码 用户 密码 进入方式 docker tcuser ssh root   command:sudo -i (docker用户下执行)

  3. 小白必看,Python入门你要懂那些

    Python作为为数不多的全场景开发语言之一,近年来已经获得了越来越多人的关注,而整个IT行业也释放出了大量的Python就业岗位.因此,当前学习Python语言是非常不错的选择,文泽带你进一步走进P ...

  4. 5万字长文:Stream和Lambda表达式最佳实践-附PDF下载

    目录 1. Streams简介 1.1 创建Stream 1.2 Streams多线程 1.3 Stream的基本操作 Matching Filtering Mapping FlatMap Reduc ...

  5. Lua学习入门(代码块)

    ). if then else if a < then b = else b = end ). if elseif else then if a < then b = elseif a = ...

  6. python学习笔记1 -- 面向对象编程类和实例

    由于之前有一定基础,所以python中的类的概接受的比较快,与其他语言一样, python也是通过类来进行事务的抽象,一切皆对象,要不然怎么说程序员不缺对象呢. 言归正传,python中类的声明是cl ...

  7. PHP - AJAX 与 MySQL-AJAX 数据库实例

    PHP - AJAX 与 MySQL AJAX 可用来与数据库进行交互式通信. AJAX 数据库实例 下面的实例将演示网页如何通过 AJAX 从数据库读取信息: 本教程使用到的 Websites 表 ...

  8. Pintech品致全新多功能MDO 704E系列示波器全新推出

    2020年 7月,Pintech品致全新推出推出首款具有多个模拟通道和多个数字通道的示波器.每个模拟通道带宽为200 MHz,每个模拟通道采样率同时达1 GSa/s,在一台仪器中,实现精确.可重复的. ...

  9. MySQL一主多从配置和读写分离配置

    一.一主多从配置 此次操作实现的是一主两从的方式.主服务器slave2(2.100),从服务器slave2-1(2.107),slave2-2(2.108);第一:准备主数据库    1. 在不同的机 ...

  10. 每日一道 LeetCode (5):最长公共前缀

    前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee: https://gitee.com ...