ref: https://jingyan.baidu.com/article/47a29f246f354ec0142399dc.html

网上有很多的介绍apache和tomcat的区别,但大部分都是介绍他们性能啊之类的区别,看了还是不懂,这里小编将从使用流程上介绍,虽然都是简单的东西,但肯定能看懂就是了。

方法/步骤

 
  1. 1

    首先,用户通过浏览器访问一个网址,我们叫他URL,格式可能是:

    http://www.*********com/alspweb/form.html

    也可能是

    http://www.************.com/alspweb/form.jsp

    这样子.

  2. 2

    这个请求会发送到WEB服务器上,而web服务器上搭建了web服务器软件,就是apache了。所以,apache是一个web服务器软件。

  3. 3

    apache发现请求的是一个静态的web页面,这个简单啊,apache自己就可以处理。所以,apache获取这个页面。这个页面在服务器上存储的样子类似于下图所示

  4. 4

    然后,apache将这个页面放在HTTP响应的消息体中(可以理解是,apache将发送一个HTTP响应给浏览器,而这个页面就粘贴在这个响应中一起带过去了。你好像你邮寄了一封信,里面顺便插入了一张HTML页面一样)

  5. 5

    浏览器收到了HTML页面,OK,此时他还是一段代码,然后解析成具体的页面

  6. 6

    那么问题来了,apache怎么知道你请求的是个静态网页呢?看名字喽,你请求的是form.html,后缀名是.html,肯定是个静态的啦,apache自己就处理了。

  7.  

    但是apache处理不了动态的网页。比如,我访问

    。。。。。。。。。。。。/form.jsp

    后缀名是.jsp,肯定是个动态的东西,apache说,这个我处理不了,需要找其他的软件帮我处理。

  8.  

    找谁呢?就是tomcat,所以tomcat是一个容器,也可以叫应用服务器。tomcat本身也可以处理静态网页,所以tomcat是可以脱离apache自己单独存在的,但是tomcat对静态网页处理的不好,所以往往和apache共同使用。

  9.  

    此时,apache直接将请求发送给tomcat,也就是请求

    http:/············································/alspweb/form.jsp的页面。

  10.  

    tomcat说,这个我能干啊,于是找到了form.jsp的页面

  11.  

    其中,这一段代码就是jsp写的动态的东西了。小编这里写的简单,一般来说,会有一个请求发送到jsp页面,jsp进行处理后再把结果写入到网页。正因为输入的不同会得到不同的结果,也会生成不同的页面,所以是个动态的页面。动态的页面就是说你在请求前这个页面还不存在,请求后通过请求的参数才能得到最后的页面。

  12.  

    tomcat对jsp进行解析,然后把jsp的文件解析成一个静态的html页面,再把这个页面交给了apahce

  13.  

    apache说,嘿这个是html,我可以处理啊,然后把这个html直接给到了浏览器了。

  14.  

    我们通过浏览器看下源码(右键->查看网页的源代码),可以看到,之前的<%  %>符号已经不见了

  15.  

    所以,我们把apache叫为web服务器软件,他只能处理静态的页面,动态的处理不了。而tomcat可以处理动态的,静态的也能处理,但处理的没有apache厉害。

  16.  

    你们可以自己试试,只搭建一个apche,然后在里面放一个.jsp页面,直接访问看看什么结果。

JavaWeb - apache和tomcat是如何配合工作的的更多相关文章

  1. JavaWeb - Apache与Tomcat有什么关系和区别

    总结: 1- apache是web服务器,侧重于http server: tomcat是应用(java)服务器,侧重于servlet引擎 2-合作过程详解,请看:JavaWeb - apache和to ...

  2. windows平台整合Apache与tomcat

    Apache与Tomcat整合的好处 Apache主要用来解析静态文本,如html.Tomcat虽然也有此功能,但Apache效率大大高于Tomcat,尤其是对于并发数较大的企业级应用,能更好的显示A ...

  3. Apache、Tomcat、JBoss、Weblogic四个常用的JavaEE服务器

    Apache全球应用最广泛的http服务器,免费,出自apache基金组织 Tomcat应用也算非常广泛的web 服务器,支持部分j2ee,免费,出自 apache基金组织 JBoss开源的应用服务器 ...

  4. JavaWeb学习总结(一)JavaWeb入门与Tomcat

    一.常见软件系统体系结构B/S.C/S 1. C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序: ...

  5. Apache与Tomcat的整合

    一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...

  6. 结合Apache和Tomcat实现集群和负载均衡 JK 方式 2 (转)

    本文Apache+Tomcat集群配置       基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apa ...

  7. Web服务器之iis,apache,tomcat三者之间的比较

    IIS-Apache-Tomcat的区别 IIS与Tomcat的区别 IIS是微软公司的Web服务器.主要支持ASP语言环境. Tomcat是Java Servlet 2.2和JavaServer P ...

  8. Apache与Tomcat联系及区别(转)

    Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行.Apache是Web服务器而Tomcat是Java应用服务器. A ...

  9. Apache和tomcat服务器使用ajp_proxy模块

    首先我们先介绍一下为什么要让Apache与Tomcat之间进行连接.事实上Tomcat本身已经提供了HTTP服务,该服务默认的端口是8080,装好tomcat后通过8080端口可以直接使用Tomcat ...

随机推荐

  1. gulp 自动ftp至服务器时,处理开发 测试服务器地址问题

    var gulp=require('gulp'), babel = require('gulp-babel'), gulpSequence = require('gulp-sequence'), ht ...

  2. (poj 2502) Subway 最短路

    题目链接: 题意:在一个城市里有许多地铁,现在你知道每条地铁的起点  终点与停站点的坐标,知道我们的起始坐标与终点坐标,问加上走路最快到达终点的时间是多少? 方法:求出任意两点的车速时间与步行时间,再 ...

  3. DOTween 相关API效果

    1,首先看一遍完整Tween路径 2,操作 DoPlay->DoRestart,DoRestart是从调用时刻重新开始开始执行Tween 3,操作 DoPlay->DoReWind,DoR ...

  4. CodeForces Round #552 Div.3

    A. Restoring Three Numbers 代码: #include <bits/stdc++.h> using namespace std; ]; int a, b, c; i ...

  5. oracle:TNS:监听程序无法分发客户机连接

    挂上vpn的时候,PL/SQL连接到oracle的时候,显示ORA-12518:监听程序无法分发客户机连接.如下图: 一.[问题描述] 最近,在系统高峰期的时候,会提示如上的错误,致使无法连接到服务器 ...

  6. python 条件分支与循环

    一.if判断: 语法一: if 条件: # 条件成立时执行的子代码块 代码1 代码2 代码3 示例: sex='female' age=18 is_beautiful=True if sex == ' ...

  7. oneinstack 安装 https-certbot

    免费https?   官方安装教程:https://certbot.eff.org/#centos6-nginx (以下是说明安装时遇到的): 下载并修改文件权限 wget https://dl.ef ...

  8. Git让你从入门到精通,看这一篇就够了

    简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布 ...

  9. Java基础 -- final关键字

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下final ...

  10. 如何巧妙的使用ArrayList的Clone方法

    一.ArrayList的Clone方法的源码 返回一个Object对象,所以在使用此方法的时候要强制转换. ArrayList的本质是维护了一个Object的数组,所以克隆也是通过数组的复制实现的,属 ...