Tomcat【介绍Tomcat、结构目录、虚拟目录、临时域名、虚拟主机、体系结构】
什么是Tomcat
Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。
为什么我们需要用到Tomcat
如果你学过html,css,你会知道你写的页面只能自己访问,别人不能远程访问你写的页面,Tomcat就是提供能够让别人访问自己写的页面的一个程序

配置Tomcat
运行Tomcat需要JDK的支持【Tomcat会通过JAVA_HOME找到所需要的JDK】。
- 新建JAVA_HOME环境变量【路径是JDK的主目录】

进入Tomcat目录下的bin中启动startup.bat,以下是成功启动Tomcat的页面。

在浏览器地址栏输入http://localhost:8080,如果能够出现Tomcat页面,说明配置成功了!
注意:如果在使用Tomcat时出现了Error deploying web application directory web222,很大原因就是jdk和tomcat的版本不匹配。目前,jdk8不能匹配tomcat7.0,所以要降低jdk版本【换成JDK7】
当然也有可能不是一帆风顺能够直接启动Tomcat,不能正常启动Tomcat会有以下情况
- JAVA_HOME配置错误
- 端口被占用了
- 第一种方法:在cmd输入netstat -anb查看谁占用了该端口【Tomcat默认的是8080】,在进程中关闭它
- 第二种方法:主动改变tomcat的端口,到tomcat主目录下的conf/server.xml文件中修改,把8080端口改成是8088或者是其他的‘

相关术语介绍

tomcat结构目录

目录的简单介绍
- bin:启动和关闭tomcat的bat文件
conf:配置文件
server.xml该文件用于配置server相关的信息,比如tomcat启动的端口号,配置主机(Host)web.xml文件配置与web应用(web应用相当于一个web站点)tomcat-user.xml配置用户名密码和相关权限.
lib:该目录放置运行tomcat运行需要的jar包
- logs:存放日志,当我们需要查看日志的时候,可以查询信息
- webapps:放置我们的web应用
- 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站点下的helloword2.xml文件作为站点的首页
- 新建一个WEB-INF目录

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

web.xml我们不可能会写,所以可以在webapps目录下其他的站点中抄一份过来【复制ROOT/WEB-INF/web.xml的文件到自己的站点中】
在web.xml中添加以下代码
<welcome-file-list>
<welcome-file>helloword2.html</welcome-file>
</welcome-file-list>

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

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

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

- 在server.xml中的节点下添加如下代码。path表示的是访问时输入的web名,docBase表示的是站点目录的绝对路径
<Context path="/web1" docBase="D:\web1"/>

- 访问配置好的web站点

配置虚拟目录方法二:
进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。
xml文件的代码如下,docBase是你web站点的绝对路径
<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="D:\web1"
reloadable="true">
</Context>
- 访问web站点下的html资源
配置临时域名
访问Tomcat服务器有好几种方式
- 使用localhost域名访问【localhost代表本机】
- 使用ip地址127.0.0.1访问【该ip地址也是本机】
- 使用机器名称访问【只限用于本机上或者局域网】
- 使用本机IP地址访问【在cmd中输入ipconfig可以查询到本机IP地址】
- 还可以为机器配置临时域名
配置临时域名步骤
- 打开到C:\Windows\System32\drivers\etc下,找到hosts文件

- 在hosts文件下配置临时域名

设置虚拟主机
什么是虚拟主机?
多个不同域名的网站共存于一个Tomcat中
为什么需要用到虚拟主机?
例子:我现在开发了4个网站,有4个域名。如果我不配置虚拟主机,一个Tomcat服务器运行一个网站,我就需要4台电脑才能把4个网站运行起来。
配置虚拟主机的步骤
- 在tomcat的server.xml文件中添加主机名
<Host name="zhongfucheng" appBase="D:\web1">
<Context path="/web1" docBase="D:\web1"/>
</Host>

- 访问虚拟主机下的web站点

Tomcat体系结构

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

练习
在浏览器输入http//:zhongfucheng直接显示到页面
分析:
- 需要配置虚拟主机
- 把8080端口改成80
- 设置web站点首页
- 映射虚拟目录为/

Tomcat【介绍Tomcat、结构目录、虚拟目录、临时域名、虚拟主机、体系结构】的更多相关文章
- Tomcat介绍 安装jdk 安装Tomcat
Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而 ...
- Tomcat介绍、安装JDK、安装Tomcat
6月26日任务 16.1 Tomcat介绍16.2 安装jdk16.3 安装Tomcat扩展java容器比较 http://my.oschina.net/diedai/blog/271367 http ...
- Linux centosVMware Tomcat介绍、安装jdk、安装Tomcat
一.Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开 ...
- tomcat 介绍及环境搭建
一.tomcat介绍 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型 系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选. ...
- 本地hosts临时域名访问
当刚购买了空间,域名和空间还未进行绑定,可以用临时域名访问主机调试网站.您可通过本地hosts指向访问网站,具体方法如下: 特别说明:设置以后,只有当前设置的电脑才能访问,其他电脑访问无效. 第一步: ...
- JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)
1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...
- Tomcat基本入门知识及发布,虚拟访问及启动碰到的错误,虚拟目录,虚拟路径,各种Tomcat的配置
Tomcat容器入门介绍 转自javaresearch.com由timgball 整理 Tomcat是一个免费的开源Web服务器,最新版本是5.5.1,支持Servlet2.4,JSP2.0,非常适合 ...
- javaweb学习总结十六(tomcat服务器的使用、虚拟目录的映射)
一:tomcat服务器的目录 1:目录结构 2:web应用程序介绍 二:虚拟目录的映射 假如我在E盘建立一个目录web,里面存放1.html文件,我想让外界访问 1:直接在conf目录下的server ...
- (Tomcat)服务器之web应用的虚拟目录映射和主机搭建
首先来了解一下web的虚拟目录映射和主机搭建的知识 第一:web的虚拟目录映射 首先我们要知道什么叫做web的虚拟目录映射,这个很好理解的,就是将我们本地硬盘上的web应用映射出一个供外界用户访问的地 ...
随机推荐
- centos7破解mariadb密码
第一步,停止运行mysql: systemctl stop mariadb.service 第二步,使用" -skip-grant-tables"参数重新启动mysql: mysq ...
- JDK环境变量的配置
JDK环境变量的配置.. ==================>>> 右键“我的电脑”,选择“属性”,弹出的对话框中选择“高级系统设置” 在弹出的系统属性对话框中.选择“高级”,再选 ...
- C#异步编程(async and await)及异步方法同步调用
1.什么是异步? 异步操作通常用于执行完成时间可能较长的任务,如打开大文件.连接远程计算机或查询数据库=异步操作在主应用程序线程以外的线程中执行.应用程序调用方法异步执行某个操作时,应用程序可在异步方 ...
- java归并排序详解
归并排序 /** * 归并排序 * 简介:将两个(或两个以上)有序表合并成一个新的有序表 即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序序列 * 时间 ...
- Python学习笔记3
__slots__ 如果我们想要限制class的属性怎么办?比如,只允许对Student实例添加name和age属性. 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__s ...
- [2016-07-15]nuget包管理器控制台下的powershell脚本介绍
博客有阵子没打理了,今天刚恢复样式,但是标题还是不太正常,总算能凑合看看. 回到正题,最近为了能在VS的程序包管理器控制台上能方便的自定义ps脚本去调整project的package,就开始看powe ...
- Bash脚本编写初体验
上周例会的时候,冷不丁的接到了维护原有的安装脚本和编写升级.卸载脚本的任务,PM和几个同事一本正经的说,一天甚至30分钟就可以精通shell脚本编写,哪怕没有语言基础也可以. 当然,作为有着C++.P ...
- NCS8801S芯片RGB/LVDS转EDP功能简介
NCS8801S RGB/LVDS-to-eDP Converter (1/2/4-lane eDP) Features --Embedded-DisplayPort (eDP) Output 1/2 ...
- Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL
Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL 严重: Error config ...
- pip源相关问题
指定源地址安装: pip install -i http://pypi.douban.com/simple/ packagename pip install -i http://pypi.tuna.t ...