JavaWeb - apache和tomcat是如何配合工作的

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获取这个页面。这个页面在服务器上存储的样子类似于下图所示

    JavaWeb - apache和tomcat是如何配合工作的
  4. 4

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

  5. 5

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

    JavaWeb - apache和tomcat是如何配合工作的
  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的页面

    JavaWeb - apache和tomcat是如何配合工作的
  11.  

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

    JavaWeb - apache和tomcat是如何配合工作的
  12.  

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

  13.  

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

    JavaWeb - apache和tomcat是如何配合工作的
  14.  

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

    JavaWeb - apache和tomcat是如何配合工作的
  15.  

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

  16.  

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

上一篇:java points[复习]


下一篇:一个简洁漂亮的jQuery拖放排序插件DDSort