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. Python灰帽子:黑客与逆向工程师的Python编程之道PDF高清完整版免费下载|百度云盘

    百度云盘免费下载:Python灰帽子:黑客与逆向工程师的Python编程之道PDF高清完整版免费下载 提取码:8nki 目录  · · · · · · 第1章 搭建开发环境 11.1 操作系统要求 1 ...

  2. 使用Openresty构建认证网关

    [入门]使用Openresty构建认证网关 lwhile关注 0.5092017.10.07 16:00:03字数 1,330阅读 4,112 在单体应用中, 我们可以通过 cookie + sess ...

  3. gitlab的还原

    源服务器: ip: 192.168.0.199 系统:CentOS7.2 内核: 3.10.0-327 gitlab版本: gitlab-ce-8.0.5 新服务器: ip: 192.168.0.19 ...

  4. LRU cache缓存简单实现

    LRU cache LRU(最近最少使用)是一种常用的缓存淘汰机制.当缓存大小容量到达最大分配容量的时候,就会将缓存中最近访问最少的对象删除掉,以腾出空间给新来的数据. 实现 (1)单线程简单版本 ( ...

  5. Day02_Vue.js与Webpack

    Vue.js与Webpack 1 vue.js介绍 1.vue.js是什么? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设 ...

  6. Python实现数据结构 图

    邻接矩阵 class Vertex: def __init__(self, node): self.id = node # Mark all nodes unvisited self.visited ...

  7. PHP gd_info - 取得当前安装的 GD 库的信息

    gd_info — 取得当前安装的 GD 库的信息. 语法 array gd_info ( void )高佣联盟 www.cgewang.com 返回一个关联数组描述了安装的 GD 库的版本和性能. ...

  8. 区块链钱包开发 - USDT - 一、Omni本地钱包安装

    背景 Tether(USDT)中文又叫泰达币,是一种加密货币,是Tether公司推出的基于稳定价值货币美元(USD)的代币Tether USD,也是目前数字货币中最稳定的币,USDT目前发行了两种代币 ...

  9. python 爬虫刷访问量

    import urllib.requestimport time # 使用build_opener()是为了让python程序模仿浏览器进行访问opener = urllib.request.buil ...

  10. 用var声明变量,在java中居然有这么多细节,你都了解么?

    简介 Java SE 10引入了局部变量的类型推断.早先,所有的局部变量声明都要在左侧声明明确类型. 使用类型推断,一些显式类型可以替换为具有初始化值的局部变量保留类型var,这种作为局部变量类型 的 ...