Web服务请求处理过程全解

在一个企业级应用开发中,往往前台都使用的jsp页面展现、web应用服务器使用tomacat,这里我们就这种情况具体进行说明。

首先先弄清楚几个概念:

Web Server 和Web应用服务器的区别

Web Server(Web服务器)可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response);web应用服务器,对请求进行处理,完成业务上的逻辑,例如Tomacat服务器。

区别:1、应用服务器处理业务逻辑,web服务器则主要是让客户可以通过浏览器进行访问。
   2、应用服务器处理业务逻辑,web服务器是用于处理HTML文件的。web服务器通常比应用服务器简单,如apache就是web服务器,Jboss就是EJB应用服务器。



Jsp和Servlet的区别:

Servlet是一种在服务器端运行的Java程序,从某种意义上说,它就是服务器端的Applet。所以Servlet可以像Applet一样作为一种插件(Plugin)嵌入到Web Server中去,提供诸如HTTP、FTP等协议服务甚至用户自已定制的协议服务。而JSP是继Servlet后Sun公司推出的新技术,它是以Servlet为基础开发的,Servlet与JSP区别:
(1)编程方式不同
JSP是为了解决Servlet中相对困难的编程技术而开发的技术,因此,JSP在程序的编写方面比Servlet要容易的多,Servlet严格遵循Java语言的编程标准,而JSP则遵循脚本语言的编制标准。
(2)Servlet必须在编译以后才能执行
JSP并不需要另外进行编译,JSP Container会自动完成这一工作,而Servlet在每次修改代码之后都需要编译完才能执行。
(3)运行速度不同
由于JSP Container将JSP程序编译成Servlet的时候需要一些时间,所以JSP的运行速度比Servlet要慢一些,不过,如果JSP文件能毫无变化的重复使用,它在第一次以后的调用中运行速度就会和Servlet一样了,这是因为JSP Container接到请求以后会确认传递过来的JSP是否有改动,如果没有改动的话,将直接调用JSP编译过的Servlet类,并提供给客户端解释执行,如果JSP文件有所改变,JSP Container将重新将它编译成Servlet,然后再提交给客户端。

编译servlet和jsp转换 (web服务器获得http请求) 应用服务器创建servlet

启动应用服务---——————--------->浏览器地址 栏输入地址------------------------------>web应用服务器获得参数----------------->servlet进行处理

web服务器进行 (应用服务器进行) |

展现页面<----------------------HttpResponse<------------ 转发到指定的jsp(servlet)|

Servlet处理请求的流程:

    1) 客户端在浏览器的地址栏中输入一个请求的URL,按回车后就向服务器端发起一个http request(由浏览器生成)。

    2) 服务器端的Web Server首先接受到请求,并将请求转交给容器,容器会根据请求的URL去调用客户端要访问的Servlet。

    3) 容器会根据web.xml中对Servlet的描述去查找要访问的Servlet,若找到,将此Servlet

装载进虚拟机并实例化(第一次访问),然后调用Servlet实例中的service方法处理请求,并分配一个线程去执行。

注: 当第二次去访问同一个Servlet时,若容器判断到该Servlet已经被装载并实例化,

那么容器就不会再去创建一个新的Servlet实例,直接调用原来那个Servlet实例中的service方法

来处理请求。

    4) 若没有查找到,直接返回一个404的错误代码到客户端,表示访问的资源不存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值