>Web应用程序(有着一定固定的目录结构,来组织静态资源和动态资源)

Web应用, 网络上可以访问的一个程序. 有静态资源和动态资源

静态资源: html / css / js / 图片 /视频 / txt...

动态资源: 程序产生的. 不同的用户在不同的时间来访问的时候 会产生不同的结果.  java程序

>c/s架构与b/s架构

c/s  客户端(安装客户端软件)和服务器端;

b/s browser/server,b/s是基于http的特殊c/s,浏览器也是特殊的客户端;

>服务器

硬件上:性能优越的计算机;

软件上:盛放web应用的容器/软件;

>tomcat下载安装

tomcat官网 http://tomcat.apache.org/

tomcat的解压版,压缩文件解压即可使用,src为原码;

>启动与停止tomcat服务

浏览器地址栏输入http://localhost:8080/

出现下图页面证明tomcat服务器已经正常启动(没有写项目名,只写了虚拟主机和端口,这是访问的时缺省项目,默认ROOT)。

>tomcat的目录结构

说明:

1. 一级目录

bin ——Tomcat执行脚本目录

conf ——Tomcat配置文件

lib ——Tomcat运行需要的库文件(JARS)

logs ——Tomcat执行时的LOG文件

temp ——Tomcat临时文件存放目录

webapps ——Tomcat的主要Web发布目录(存放我们自己的JSP,SERVLET,类)

work ——Tomcat的工作目录,Tomcat将翻译JSP文件到的Java文件和class文件放在这里。

2. 二级目录(仅列出一级目录下几个重要的文件)

(1) bin目录下的文件

catalina.sh 用于启动和关闭tomcat服务器

configtest.sh 用于检查配置文件

startup.sh 启动Tomcat脚本

shutdown.sh 关闭Tomcat脚本

(2) conf目录下的文件

server.xml Tomcat 的全局配置文件

web.xml 为不同的Tomcat配置的web应用设置缺省值的文件

tomcat-users.xml Tomcat用户认证的配置文件

(3) lib目录下的文件

包含被Tomcat使用的各种各样的jar文件。

(4) logs目录下的文件

localhost_access_log.2017-09-18.txt 访问日志

localhost.2017-09-18.log 错误和其它日志

manager.2017-09-18.log 管理日志

catalina.2017-09-18.log Tomcat启动或关闭日志文件

(5) webapps目录下的文件

含Web应用的程序(JSP、Servlet和JavaBean等)

其中自带的几个项目中,ROOT项目,小猫界面就来自于这个根项目的一个页面;如果一个虚拟主机里的一个项目名是ROOT,那么在访问这个项目的时候不需要带项目名;直接就是访问ROOT;

(6) work目录下的文件

由Tomcat自动生成,这是Tomcat放置它运行期间的中间(intermediate)文件(诸如编译的JSP文件)地方。 如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。

>真实路径和虚拟路径

访问自己电脑D盘里的一个abc.txt  怎么访问: 通过绝对路径 d:\abc.txt 来访问这个文件

访问在网络上的192.168.18.200 这个电脑上的d盘里的bbc.txt

http ip 端口 d:bbc.txt   所以  访问网络上的这个bbc的时候 需要在访问的路径里 用虚拟路径 来描述

这个电脑的d:\bbc.txt

>访问某个服务器上

某个虚拟主机里

某个项目下的

某个资源

协议+主机+端口+项目+具体资源

浏览器使用HTTP协议访问,端口号默认为80,可以省略不写;

当我们自己的项目,要交给tomcat来管理,需要告诉tomcat,项目交给哪个虚拟主机的,这就要配置虚拟主机;

>虚拟主机

什么是虚拟主机:

打开tomcat的全局配置文件,文件结构可以看到,tomcat是一个服务器server;

服务器里面有服务,服务叫凯特琳娜(<Service name="Catalina">);

服务里面有引擎,引擎(有默认虚拟主机<Engine name="Catalina" defaultHost="localhost">)里面有主机,这个主机叫虚拟主机(有自己的域名),引擎里面可以配置多台虚拟主机;

>配置虚拟主机www.baidu.com

配置一个名为www.baidu.com的虚拟主机,将引擎里的默认主机改为www.baidu.com的虚拟主机,tomcat端口改为80;

当我们在browser上访问www.baidu.com时,首先进行dns服务器获取IP(其中先访问C盘hosts文件,如果有,就找这个文件里的IP);

修改host文件,让浏览器不要直接访问外网的百度服务器;

往虚拟主机管理的项目文件夹里,加入一个web应用程序的目录结构;

IE浏览器,访问到了我们部署的项目

http://www.baidu.com/news/sina.html

>另外一种配置项目的方式(缺点:每增加一个context,就要重启服务器)

在server配置文件里,context上下文标签,配置虚拟/访问路径path,和真实路径docBase;

重启tomcat

http://localhost:8080/news/sina.html

>另外一种配置项目的方式

Catalina 可以说时tomcat的别名;

在Catalina文件夹下,localhost虚拟主机下,配xml文件一个context标签加真实路径,这种方式虚拟路径就是xml的文件名;

测试访问:

>打war包的方式向虚拟主机部署项目

到真实项目目录下,cmd,输命令 jar -cvf xxx.war*

之后将war包放到webapps里面,之后启动服务器,war自动解出来一个项目;

war文件名就是虚拟路径;

>管理界面向虚拟主机部署项目

快速上手Tomcat相关推荐

  1. 【JavaWeb篇】快速上手Tomcat|实战项目详解

    作者主页:橙子! 主页 系列专栏:JavaWeb基础教程系列 精彩回顾:HTTP协议详解 文章目的:Web服务器TomCat的使用以及配置问题 文章目录 前言 1.Web服务器 2.Tomcat简介 ...

  2. 快速上手Tomcat(eclipse中配置tomcat)

    软件环境:tomcat 8.053版本: eclipse Mars版本: >显示 server界面 >添加并配置服务器 更改tomcat安装目录,到bin目录的上一级: 一个服务器就建好了 ...

  3. SpringBoot2.1.15(26) WebFlux快速上手——响应式Spring的道法术器

    SpringBoot2.1.15(26) WebFlux快速上手--响应式Spring的道法术器 Spring WebFlux Spring WebFlux是随Spring 5推出的响应式Web框架. ...

  4. Docker基础篇之快速上手

    下载md查看 链接:https://pan.baidu.com/s/1ocFFFlOvGZdXBDgJovZ8tA 提取码:atm3 Docker基础篇之快速上手 第一章 Docker简介 是什么? ...

  5. (二)Spring Security 快速上手

    Spring Security介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.由于它是Spring生态系统中的一员,因此它伴随 ...

  6. 一、快速上手SpringBoot

    一.快速上手SpringBoot 一.快速上手SpringBoot 1.SpringBoot快速入门(一) 2.SpringBoot快速入门(二) 3.SpringBoot快速入门(三) 4.Spri ...

  7. 响应式Spring的道法术器(Spring WebFlux 快速上手 + 全面介绍)

    1. Spring WebFlux 2小时快速入门 Spring 5 之使用Spring WebFlux开发响应式应用. lambda与函数式(15min) Reactor 3 响应式编程库(60mi ...

  8. 【快速上手mac必备】常用优质mac软件推荐(音视频、办公、软件开发、辅助工具、系统管理、云存储)

    本文章的主要内容是我作为一名大四学生.准程序员.up主这三种身份来给大家推荐一下 mac 上好用的软件以及工具.本人也是从去年9月份开始从windows阵营转移到了mac阵营,刚开始使用的时候,也曾主 ...

  9. 【转】Vue.js 2.0 快速上手精华梳理

    Vue.js 2.0 快速上手精华梳理 Sandy 发掘代码技巧:公众号:daimajiqiao 自从Vue2.0发布后,Vue就成了前端领域的热门话题,github也突破了三万的star,那么对于新 ...

最新文章

  1. C++实现质因数分解
  2. C#实现动态分配IP和释放IP
  3. assume用法及意思_分享assume 的几种用法~
  4. 文本分类数据集_181个NLP教程,481个文本数据集,Colab一键直达,无需环境配置...
  5. BAP存储属性的思想
  6. Runner站立会议05
  7. linux下source filename,./filename,. filename,......
  8. 基于Unity的极乐净土/others MMD动画制作
  9. Asp.Net Core 系列教程 (三)身份认证
  10. eclipse调成黑色主题背景(老版本适用)
  11. 前端的3D(css3版本)--淘宝造物节3D创景的制作
  12. 计算机家庭网络未识别,Win7排除常见家庭网络问题的方法
  13. 7 款开源 Java 反编译工具
  14. nodename nor servname provided, or not known
  15. excel添加删除线
  16. Android安全专题(三)JNI混淆
  17. SIM800C使用HTTPS进行GET
  18. andorid最新的不规则色彩背景图片自适应屏幕宽高,背景不变形
  19. CorelDRAW X3 涂抹笔刷
  20. 人工智能将取代人类_AI无法在短时间内取代人类的5个领域

热门文章

  1. php oop基础,php面向对象编程(oop)基础
  2. 两片74161实现60进制_74ls161集成60进制加法计数 - 74LS161集成计数器电路(2、3、4、6、8、10、60进制计数器)...
  3. 问题解决 :浏览器默认请求favicon.ico图标
  4. springboot+dubbo+nacos开发实战
  5. Docker镜像(image)详解
  6. Zookeeper的集群架构以及读写原理
  7. so库文件控制导出符号
  8. ActiveRecord 模式杂谈
  9. ruby imap抓取inbox中所有邮件的主题
  10. .NET Micro Framework 用户程序升级说明