Tomcat 服务器
软件的架构
网络中有很多的计算机,它们直接的信息交流,我们称之为:交互。
在互联网交互的过程中,有两个非常典型的交互模型:
1. B【Browser】/S【Server】 交互模型
2. C【Client】/S【Server】 交互模型。
什么是 B/S 交互模型?
答:就是浏览器和服务器交互模型,例如:淘宝,京东
什么是 C/S 交互模型?
答:就是客户端和服务器交互模型,例如:百度网盘客户端与百度网盘服务器
B/S 和 C/S 交互模型相同点和不同点:
相同点:
1. 都是基于请求-响应交互模型,即:
浏览器/客户端 向 服务器发送一个请求。
服务器 向 浏览器/客户端回送一个响应。
2. 必须先有请求后有响应。
3. 请求和响应成对出现。
不同点:
1. 实现 C/S 模型需要用户在自己的操作系统安装各种客户端软件
(百度网盘、腾讯 QQ 等); 实现 B/S 模型,只需要用户在操作系统中安装浏览器即可。
2. 通常 C/S 模型成本较高,使用较难,B/S 模型成本较低,使用较易。
Web 资源的类别
存在于web应用服务器可供外界访问的资源就是web资源
例如:存在于web应用服务器内部的Html、Css、js、图片、视频等
静态资源
指 Web 页面中供人们浏览的数据始终是不变。比如:HTML、CSS、JS、图片、音频、视频。
动态资源
指 Web 页面中供人们浏览的数据是由程序产生的,不同时间点访问 Web 页面看到的内容各不相同。
比如:你在不同时间搜索微博的热门话题内容是不一样的,每天的天气情况也是变化的。
这些数据可以由程序生成,Servlet/JSP、ASP、PHP 等技术都可以完成。
javaWEB领域:动态资源认为通过java代码去动态生成html
服务器的概念
这里说的服务器就是一个软件,任何电脑只需要安装上了服务器软件,
然后该电脑的指定目录下的资源就能被外界通过浏览器访问,属于 B/S 模式。
常见的服务器软件
1. WebLogic
Oracle 公司的产品,是目前应用最广泛的 Web 服务器,支持 JavaEE 规范。WebLogic 是用于
开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用的 Java 应用服务器。
2. WebSphere
IBM 公司的 WebSphere,支持 JavaEE 规范。WebSphere 是随需应变的电子商务时代的最主
要的软件平台,可用于企业开发、部署和整合新一代的电子商务应用。
3. Glass Fish
最早是 Sun 公司的产品,后来被 Oracle 收购,开源,中型服务器。
4. JBoss
JBoss 公司产品,开源,支持 JavaEE 规范,占用内存、硬盘小,安全性和性能高。
5. Tomcat
中小型的应用系统,免费开源,支持 JSP 和 Servlet,学习推荐使用的服务器软件。
Tomcat的目录结构
bin:脚本目录
启动脚本:startup.bat,服务器的启动命令
停止脚本:shutdown.bat,服务器停止命令
conf:配置文件目录 (config /configuration)
核心配置文件:server.xml(修改tomcat默认使用的端口)
用户权限配置文件:tomcat-users.xml
所有web项目默认配置文件:web.xml
lib:依赖库,tomcat和web项目中需要使用的jar包
logs:日志文件.
localhost_access_log.*.txt tomcat记录用户访问信息,星*表示时间。
例如:localhost_access_log.2016-02-28.txt
temp:临时文件目录,文件夹内内容可以任意删除。完全由tomcat软件自己操作。
webapps:
发布资源的根目录。默认情况下发布WEB项目所存放的目录。
资源文件必须放在资源目录里面,只有放在ROOT目录里面的资源可以直接访问,否则其他目录访问必须写资源目录+资源文件
tomcat/webapps/test/2.jpg资源文件结构
http://localhost:8080/test/2.jpg
tomcat/webapps/ROOT/2.jpg资源文件结构
http://localhost:8080/2.jpg
work:tomcat处理JSP的工作目录。
Tomcat 的发布方式
1.0 在 webapps 文件夹下面直接发布
第一步:在 Tomcat 安装目录的 webapps 目录下,创建一个 myweb 目录。
第二步:在 myweb 目录中,创建 index.html 文件。
第三步:编写 index.html 文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>欢迎来到myweb</h1>
</body>
</html>
第四步:启动 Tomcat,打开浏览器,输入如下地址访问:
http://127.0.0.1:8080/myweb/index.html
或
http://localhost:8080/myweb/index.html
2.1 使用虚拟路径的方式发布项目(两种方式)
配置 server.xml,添加 context 标签
第一步:在 D:/创建 myweb 目录,在 myweb 目录中创建 index.html 文件。
第二步:编写 index.html 文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>欢迎来到myweb</h1>
</body>
</html>
第三步:打开 Tomcat 安装目录的 conf 目录下的 server.xml 文件,添加如下代码。
server.xml 文件内容如下:
<Context path="/myweb/123" docBase="D:/myweb/"/>
第四步:启动 Tomcat,打开浏览器,输入如下地址访问:
http://127.0.0.1:8080/myweb/123/index.html
或
http://localhost:8080/myweb/123/index.html
注意:
这一种方式有一个缺点,
就是 server.xml 是 tomcat 核心文件一旦出错,导致整个 tomcat无法启动。
2.2 配置独立 xml 文件
第一步:
在 Tomcat 安装目录/conf/catelina/localhost 目录下,创建 myxml.xml 文件。
http://127.0.0.1:8080/myxml。
第二步:在 second.xml 文件中配置如下内容:
<Context docBase="D:\myweb"/>
第三步:在 D:\itheima 目录下,创建 index.html 文件。
第四步:编写 index.html 文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>欢迎来到myweb</h1>
</body>
</html>
第五步:启动 Tomcat,打开浏览器,输入如下地址访问:
http://127.0.0.1:8080/myxml/index.html
或
http://localhost:8080/myxml/index.html
Tomcat 与 Nginx 的区别
1. 设计目的:
Tomcat 是一个免费的开源的 Servlet/JSP 容器,
实现 JAVAE 规范,遵循 http 协议的的服务器。
Nginx 是一款轻量级的电子邮件代理服务器,
后来又发展成可以部署 web 应用程序和进行反向代理的服务器。HTML
2. 存放内容:
Tomcat 既能存放静态,又能存放动态资源。
Nginx 只能存放静态资源。HTML
3. 应用场景:
Tomcat 用来开发和测试 JavaWeb 应用程序。
Nginx 用来做负载均衡服务器。
它们二个服务器软件各有所长,相互配合。
小结
1.静态资源和动态资源的区别
静态资源是始终不变的,html,css,js,image
动态资源是通过java程序产生的,每次访问时间都不一样
2.Web服务器软件的作用
可以将服务器本地的资源提供给外界使用浏览器去访问
3.常见的Web服务器软件
Weblogic,oracle公司
Webphere,IBM公司
Tomcat,apache公司
IIS,微软公司的
Dubbo,阿里