有了地图,也许就不会迷路?对j2ee开发全景的理解

很多的朋友也许都有过这种体验,站在城市的高点,一个城市的路况信息会了然于胸; 如果只是穿梭其中,则很容易迷路,万法相通,知识的领悟也大概是这个理吧
今尝试写点关于web开发中的一些知识脉络,不敢说是地图,权当作抛砖引玉,希望能引出真正的地图来

我们知道web是基于B/S架构的软件模式,那么如果想要了解B/S,我们需要掌握的知识体系有以下几点:
  1. web中的客户端(浏览器)它的主要职责是什么
  2. web中的服务器又来做什么
  3. 客户端和服务端遵从的约定是什么(http)
  4. 为什么要有web容器,它都弄些什么的,为什么我们的应用程序要有它呢
  5. 客户的请求经过哪些步骤才会被自己写的应用程序接收到,
  6. 服务器是如何处理多个请求的
  。。。
  以上的知识体系中,哪些是既定的,哪些是我们要开发的,它们的底层运作机制是什么个东东

  接下,我会逐一思考尝试回答,希望引出更多的好东东来,让我们都得到提高

 


1.客户端(浏览器)提供的主要功能
    1. 打包, 按照http协议格式,组织发送的内容,
    2. 解析
          1. 按照http协议解析返回的响应内容
          2. 解析html,xml等
          3. 解析Javascript
    3. 提供一些辅助的功能,常见的有
          1. 缓存机制
          2. cookie机制

    。。。
    客户端已经成标准,很多的基础功能都已经建好,开发者更多的是界面及一些便捷功能的开发

2. 服务端提供的主要功能
  服务端首先是个很笼统的概念,其提供的功能大致有如下:
    1. 解析, 按照http协议解析客户端发过来的请求
    2. 根据传过来的参数,生成动态网页
    3. 打包,按照http协议的格式组织生成的网页,回传给客户端
    4. 协调处理多个用户的请求
    5. 查找,根据请求查找对应的处理程序

3. 客户端,服务器交互采用的约定
    大凡计算机中涉及到交互的系统,都需要遵照一定的交互规则,即定义信息的格式,以便可以解析,协议就是交

互中的约定,标准协议就是大家都遵从的规则,好处是通用,这点很好理解
  b/s结构采用标准的http协议,

4. web容器
    如上2中,每一次交互,服务器端除了依据客户端传来的参数生成动态网页外,还要做如下动作
          解析请求,组织请求,处理多用户的请求,查找对应,对于一个web站点而言,这些功能都是通用的,基础的,每次都要做的,为了最大化的减少开发者的负担,就提出了把这些通用基础的功能提取出来,由一种机制进行管理,提供,这种机制就是web容器

。。。 

5. 一个完整的请求处理过程(依具体的web容器等)
  比如对于tomcat,第一次请求servlet
  客户端发出请求 -》 web容器接收到请求,按照http协议解析请求 -》web容器生成两个对象,request,response,并把解析后的内容赋给request对象 -》web容器读取web.xml根据映射关系找到servlet -》容器加载servlet -》 生成servlet对象 - 》 调用servlet的inti方法 -》 调用service方法,并把request,response传给service -》 service自动匹配对应的doXXX方法 -》执行的doXXX方法 -》web容器关闭时调用servlet实例的destroy方法,销毁实例

  上面的过程,没考虑多 线程的模式,实际上是多线程处理的,由web容器为每一个请求产生一个线程对象,负责处理该请求,响应

  。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值