如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 296 编程语言
网上有很多的介绍apache和tomcat的区别,但大部分都是介绍他们性能啊之类的区别,看了还是不懂,这里小编将从使用流程上介绍,虽然都是简单的东西,但肯定能看懂就是了。
首先,用户通过浏览器访问一个网址,我们叫他URL,格式可能是:
http://www.*********com/alspweb/form.html
也可能是
http://www.************.com/alspweb/form.jsp
这样子.
这个请求会发送到WEB服务器上,而web服务器上搭建了web服务器软件,就是apache了。所以,apache是一个web服务器软件。
apache发现请求的是一个静态的web页面,这个简单啊,apache自己就可以处理。所以,apache获取这个页面。这个页面在服务器上存储的样子类似于下图所示
然后,apache将这个页面放在HTTP响应的消息体中(可以理解是,apache将发送一个HTTP响应给浏览器,而这个页面就粘贴在这个响应中一起带过去了。你好像你邮寄了一封信,里面顺便插入了一张HTML页面一样)
浏览器收到了HTML页面,OK,此时他还是一段代码,然后解析成具体的页面
那么问题来了,apache怎么知道你请求的是个静态网页呢?看名字喽,你请求的是form.html,后缀名是.html,肯定是个静态的啦,apache自己就处理了。
但是apache处理不了动态的网页。比如,我访问
。。。。。。。。。。。。/form.jsp
后缀名是.jsp,肯定是个动态的东西,apache说,这个我处理不了,需要找其他的软件帮我处理。
找谁呢?就是tomcat,所以tomcat是一个容器,也可以叫应用服务器。tomcat本身也可以处理静态网页,所以tomcat是可以脱离apache自己单独存在的,但是tomcat对静态网页处理的不好,所以往往和apache共同使用。
此时,apache直接将请求发送给tomcat,也就是请求
http:/············································/alspweb/form.jsp的页面。
tomcat说,这个我能干啊,于是找到了form.jsp的页面
其中,这一段代码就是jsp写的动态的东西了。小编这里写的简单,一般来说,会有一个请求发送到jsp页面,jsp进行处理后再把结果写入到网页。正因为输入的不同会得到不同的结果,也会生成不同的页面,所以是个动态的页面。动态的页面就是说你在请求前这个页面还不存在,请求后通过请求的参数才能得到最后的页面。
tomcat对jsp进行解析,然后把jsp的文件解析成一个静态的html页面,再把这个页面交给了apahce
apache说,嘿这个是html,我可以处理啊,然后把这个html直接给到了浏览器了。
我们通过浏览器看下源码(右键->查看网页的源代码),可以看到,之前的% %>符号已经不见了
所以,我们把apache叫为web服务器软件,他只能处理静态的页面,动态的处理不了。而tomcat可以处理动态的,静态的也能处理,但处理的没有apache厉害。
你们可以自己试试,只搭建一个apche,然后在里面放一个.jsp页面,直接访问看看什么结果。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 296 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 517 编程语言