精华内容
下载资源
问答
  • Java Web工作原理

    千次阅读 2018-06-02 15:44:25
    一:在本章我们将学到如下的内容》HTTP协议原理》服务器端Web编程原理》Servlet与Web容器》Java Web应用程序的组成》Tomcat介绍 一:1.1解析HTTP协议HTTP:超文本传输协议(HyperText Transfer Protocol)HTTP是一种...

    一:在本章我们将学到如下的内容

    》HTTP协议原理

    》服务器端Web编程原理

    》Servlet与Web容器

    》Java Web应用程序的组成

    》Tomcat介绍

     

    一:1.1解析HTTP协议

    HTTP:超文本传输协议(HyperText Transfer Protocol)

    HTTP是一种无状态的协议,意思是指在Web浏览器和Web服务器之间不需要建立持久的连接。

    HTTP是遵循请求/响应(Request/Response)模型的。

    HTTP处理流程:

     

     

    1.1.1建立连接

    在java底层代码中是这样实现的,子不过浏览器已经帮我们做了!

    1.1.2 发送请求信息  一旦建立的TCP连接,Web浏览器就会向Web服务器发送请求命令。HTTP协议将请求封装成HTTP请求,他包括请求行,请求头,空行,消息体。

    1.1.3 回送响应信息

    1.1.4 关闭连接

     

    1.2 Web服务器的缺陷;

    只能向客户端提供静态网页内容
    增加一个辅助应用生成动态页面 

    辅助的在服务器端进行注册,根据参数查找并运行。

    1.3 服务器端网页编程

    建动态服务器端内容的过程
    –CGI技术
    –微软的ASP和ASP.NET技术
    –基于Java的Servlet/JSP技术
     
     
    1)CGI技术
    CGI即通用网关接口(Common Gateway Interface)
    最大优点是它可以用Shell、Perl、C、PHP、Python等编写  
    但是CGI技术也有缺陷:

    每次请求就打开一个CGI进程,严重消耗服务器资源。极大地限制了一个服务器可以支持的并发 CGI用户数量 。

    2)java的解决法案

     

        Web容器;

    Web容器负责管理和运行Servlet
    容器对Servlet的支持包括
    –通信支持
    –生命周期管理
    –多线程支持
    –JSP支持

    -处理安全性

        Servlet

    1:Servlet是常规的Java代码。代码中用了一些新的API,但是不涉及新的语法。

    2:Servlet代码中有我们不熟悉的重要语句。Servlet不属于J2SE,它属于单独的规范。

    3:Servlet对标准类(HttpServlet)进行了扩展。

    4:Servlet没有main()方法。

    如:

     View Code

     

    Servlet主要任务

    读取客户端发送的显式和隐式数据
    生成结果
    向客户端发送显式数据(即文档)和隐式数据(HTTP响应数据) 
     
    Servlet规范;
    规范只定义了一个容器必须实现的标准功能
    Servlet容器有很多不同的实现
    –Tomcat
    –Jboss
    –WebLogic
    –WebSphere
    –Oracle9i AS 
     
        Servlet与Web容器配合处理请求和响应

     

    1)客户端向Web服务器发起一个HTTP请求。 

    2)HTTP请求被Web服务器接受,如果请求的是静态页面,则由Web服务器负责处理。如果请求的是Java Web组件(Servlet或者JSP),则移交给Web容器。Web容器可以在主机的同一个进程、不同的进程或其他的Web服务主机的进程中启动。

    3)Web容器根据Servlet的配置文件确定调用的具体Servlet类,并把request对象、response对象传给它。

    4)Servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息。Servlet处理完请求后把要返回的信息放入response对象返回到客户端。 

    5)一旦Servlet完成了请求的处理,Web容器就会刷新response,把控制权返回给web服务器。

     

    1.4 Java Web应用程序的组成

       

    –配置文件
    –静态文件和JSP
    –类文件和包 
     
    展开全文
  • web工作原理

    千次阅读 2020-05-29 17:29:55
    一、工作过程 过程如所示: 1、用户打开客户端,启动浏览器程序,并在浏览器中制定一个URL(统一资源定位器),浏览器便向该URL所指向的Web服务器发出的请求。 2、Web服务器接到浏览器的请求后,把URL转换成...

    一、工作过程

             过程如图所示:

    1、用户打开客户端,启动浏览器程序,并在浏览器中制定一个URL(统一资源定位器),浏览器便向该URL所指向的Web服务器发出的请求。

    2、Web服务器接到浏览器的请求后,把URL转换成页面所在服务器上的文件路径名。

    3、如果URL指向的是普通的HTML(Hyper Text Markup Language,超文本标记语言)文档,Web服务器直接将它送给浏览器。HTML文档中可能包含有ActiveX、VBScript、Java、JavaScript等编写的小应用程序(applet),服务器也将其随HTML一道传送到浏览器,在浏览器所在的机器上执行。

    4、如果HTML文档中嵌有ASP或CGI(Common Gateway Interface,公共网关接口)程序,Web服务器就运行ASP或CGI程序,并将结果传送至浏览器。Web服务器运行CGI程序时还可能需要调用其他服务器。

    5、URL也可以指向VRML(Virtual Reality Modeling Language,虚拟现实建模语言)文档。只要浏览器中配置有VRML插件,或者客户机上已安装VRML浏览器,就可以接收Web服务器发送的VRML文档。

    二、什么是B/S体系结构?

             B/S架构即浏览器/服务器结构。它是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。

             第一层是浏览器,即客户端,只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。

             第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。

             第三层是数据库服务器,他扮演着重要的角色,因为它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器,也就是我们打开浏览器看到的界面。

     

    三、B/S体系结构特点

    1、由于Web支持底层的TCP/IP协议,使Web网与局域网都可以做到连接,从而彻底解决了异构系统的连接问题。

    2、由于Web采用了“瘦客户端”,使系统的开放性得到很大的改善,系统对将要访问系统的用户数的限制有所放松。

    3、系统的相对集中性使得系统的维护和扩展变得更加容易。比如数据库存储空间不够,可再加一个数据库服务器;系统要增加功能,可以新增—个应用服务器来运行新功能。

    4、界面统一(全部为浏览器方式),操作相对简单。

    5、业务规则和数据捕获的程序容易分发。

     

    四、B/S工作原理

             B/S架构采取浏览器请求,服务器响应的工作模式。

             用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;

           而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;

            从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。

          下面来看看B/S架构工作原理图:

             工作流程:

             1. 客户端发送请求: 用户在客户端【浏览器页面】提交表单操作,向服务器发送请求,等待服务器响应;

             2. 服务器端处理请求: 服务器端接收并处理请求,应用服务器端通常使用服务器端技术,如JSP等,对请求进行数据处理,并产生响应;

             3. 服务器端发送响应: 服务器端把用户请求的数据(网页文件、图片、声音等等)返回给浏览器。

             4. 浏览器解释执行HTML文件,呈现用户界面。

              ●浏览器:

             是阅读和浏览Web的工具,它是通过B/S方式与Web服务器交互信息的。

             一般情况下,浏览器就是客户端,它要求服务器把指定信息传送过来,然后通过浏览器把信息显示在屏幕上。

               浏览器实际上是一种允许用户浏览Web信息的软件,只不过这些信息是由Web服务器发送出来的。

             ● 服务器:        

             服务器(Server),它既是计算机硬件的称谓,有时又是计算机服务端软件的称谓,用户应该区分开它们,主要就是从语境上去区分。

             (1)、服务器是一种计算机硬件:服务器应该算是一种高性能的计算机,它作为网络的节点,存储、处理网络上的数据、信息,因此也被称为网络的灵魂。 

             (2)、服务器是一种计算机软件:一般IIS服务器、Java服务器、.NET服务器等名词,一般都是指一种计算机软件。当用户使用计算机上网时,其实是访问服务器硬件。但 是,这个服务器硬件上安装了服务器软件,例如IIS服务器、Java服务器、.NET服务器,它们负责接收用户的访问请求,并根据请求经过计算将数据返回给用户的客户端(浏览器)。

             服务器软件分为两类:一类是Web服务器;另一类是应用程序服务器(简称为App Server)。IIS服务器和Apache是最常用的Web服务器软件;Java服务器、.NET服务器、PHP服务器是最常用的应用程序服务器软件。

             (3)、Web服务器:Web服务器实际上是一种连接在Internet上的计算机软件。它负责Web浏览器提交的文本请求。

           ● Web应用程序:

             最简单的Web应用程序其实就是一些HTML文件和其它的一些资源文件组成的集合。

             Web站点则可以包含多个Web应用程序。它们位于Internet上的一个服务器中,一个Web站点其实就对应着一个网络服务器(Web服务器).

     

     

     

     

     

    展开全文
  • Web(瓦片)地图的工作原理

    万次阅读 2015-03-04 11:16:14
    ,这篇文档通俗易懂地阐述了Web地图是如何工作的,其实更偏向讲瓦片地图的工作原理,鉴于之前很多人不了解地图切片的原理,因此简单翻译一下,由于源自MapBox文档,文中免不了涉及MapBox的相关术语,但不会影响我们...

    【译者按:在看MapBox Guides文档时,看到这篇 How do web maps work?,这篇文档通俗易懂地阐述了Web地图是如何工作的,其实更偏向讲瓦片地图的工作原理,鉴于之前很多人不了解地图切片的原理,因此简单翻译一下,由于源自MapBox文档,文中免不了涉及MapBox的相关术语,但不会影响我们的理解】

     

    MapBox上打开的Web地图或在你自己的网站上嵌入的Web地图,其实是由很多部件共同工作的结果,包括MapBox地图服务器,遍布世界各地的分布式系统以及在你的浏览器中运行的客户端代码等。

    这篇指南文档将向你介绍单幅的瓦片地图是如何在一起工作并生成Web地图的。

    连续的空间和细节

    Web地图现在非常普遍,以至于人们经常忘记它区别于普通的纸质城市地图、世界地图的优点。当你浏览一个Web地图的时候,就像在一个很大的连续的图片上漫游,你可以通过在地图上平移(移动距离可能会比较远)来自由地查看纽约、巴黎甚至东京。通过放大和缩小Web地图,你会从国家轮廓看到越来越多的细节,如城市街道和建筑物。

    Web地图可以在一个连续的空间系统内为你导航,而不是从这个国家直接跳跃到那个州或者某个城市。尽管名字叫做Web地图,但这个概念同样适用于许多移动地图并且在网上有了越来越多的Web地图,这使得纸质地图逐渐孤立。然而,从现在起,我们称这种概念为Web地图。

    瓦片地图和缩放级别

    一幅精确到街道级别的世界地图图片宽度为数以百万计的像素,由于这些数据太大了,从而导致无法一次下载并且在内存里也无法一次都hold住。实际上,Web地图由许多小的正方形的图片组成,这些小图片称作瓦片。瓦片的大小一般为256*256像素,这些瓦片一个挨一个并列放置以组成一张很大的看似无缝的地图。


    如果我们想看到更多的地图细节,如想了解国家轮廓级别的地图与街道级别地图的不同,可以使用不同的缩放级别达到目的。缩放级别越高,显示地图的物理尺寸和细节表现也会相应增加。

    为了组织如此多的地图瓦片,Web地图使用了一个简单的坐标系统。每一个瓦片都有一个z坐标来表示其缩放级别,还有一个x坐标和一个y坐标用来表示该瓦片在当前缩放级别下的网格内的位置,如:z/x/y

    第一张瓦片在Web地图系统中的坐标为0/0/0,此时缩放级别为0,只有一张瓦片并覆盖了整个世界的范围。

    当缩放级别为1时,把缩放级别为0时的那张瓦片分割成四个相等的方块,其中坐标为1/0/01/1/0的两块覆盖北半球,坐标为1/0/11/1/1的两块覆盖南半球。

    每一个缩放级别包含的瓦片数量为4n次方,其中n为缩放级别。如:

    缩放级别0包含1张瓦片;

    缩放级别1包含4张瓦片;

    缩放级别2包含16张瓦片;

    依此类推。

    由于瓦片数量是随缩放级别按指数增长的,因此每提高一个缩放级别会增加大量的地图细节,同时为了应付越来越多的瓦片,对带宽和存储空间的需求也会相应增加。

    例如,一张缩放级别为15的地图,精确到可以看到城市建筑,大约需要11亿张瓦片才能覆盖整个世界,而缩放级别为17时,仅仅是增加了两个缩放级别,同样覆盖全世界却需要170亿张瓦片。

    为什么要使用瓦片?

    简单来说,因为瓦片地图可以很好的工作,所以Web地图使用瓦片。

    1.瓦片地图缓存非常高效。如果你曾查看中央公园的地图而下载过曼哈顿的瓦片,当你需要显示泽西城的地图时,你的浏览器可以使用之前缓存的相同的瓦片,而不是重新再下载一次。

    2.瓦片地图可以渐进加载。中央公园的瓦片会在曼哈顿地图边缘加载之前加载,你可以移动或缩放地图到某一个特定点,即使当前地图的边缘部分还没有加载完成。

    3.瓦片地图简单易用。描述地图瓦片的坐标系统很简单,使得很容易在服务器、网络、桌面或移动设备上实现技术集成。

    地图客户端与瓦片

    让我们来展示一下中央公园的地图。因为地图瓦片是在网络上的图片,你需要把如下HTML代码嵌入到你的网页中。

    <img src='https://a.tiles.mapbox.com/v4/examples.map-i86l3621/0/0/0.png?access_token=pk.eyJ1IjoidHJpc3RlbiIsImEiOiJuZ2E5MG5BIn0.39lpfFC5Nxyqck1qbTNquQ' />

    你将会在浏览器中看到坐标为0/0/0的瓦片。


    你需要进行许多缩放才能定位到中央公园。通过一些HTMLCSSJavaScript代码,你可以按如下步骤显示中央公园的地图:

    1.首先确定能够覆盖曼哈顿且能够详细显示中央公园的瓦片的z/x/y坐标。

    2.在网页中添加一系列<img>标签并使用CSS以便在网格中将它们定位到合适的位置。

    3.为地图添加缩放按钮及拖拽平移等事件的响应处理,然后再次开始这些处理过程。

    幸运的是,你已不需要再做上面这些,这是地图客户端做的事情。地图客户端通常是一个JavaScript库,这个库可以帮你找到需要显示的瓦片,帮助你从地图服务器下载并将它们显示到地图的合适位置。MapBox JavaScript API就是一种地图客户端,当然你还可以使用其他的地图客户端。

    地图客户端需要知道你要显示的中心位置以及缩放级别,你可以输入一个位置的坐标然后MapBox.js就能找到你需要的瓦片。

    中央公园的经纬度为40.783-73.966,且查看该公园的最佳缩放级别为13。我们可以使用setView([40.783, -73.966], 13)方法告诉MapBox.js将中央公园的位置在地图上居中并缩放到13的级别。显示效果如下图:


    原文档地址:https://www.mapbox.com/guides/how-web-maps-work/


    展开全文
  • web工作原理

    千次阅读 2017-03-02 16:41:43
    Web服务器工作原理概述 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?Java Servlet API(例如ServletContext...

    Web服务器工作原理概述

    很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?Java Servlet API(例如ServletContext,ServletRequest,ServletResponse和Session这些类)在其中扮演了什么角色?这些都是web应用开发者或者想成为web应用开发者的人必须要知道的重要问题或概念。在这篇文章里,我将会尽量给出以上某些问题的答案。请集中精神!

    文章章节:

    • 什么是web服务器、应用服务器和web容器?
    • 什么是Servlet?他们有什么作用?
    • 什么是ServletContext?它由谁创建?
    • ServletRequest和ServletResponse从哪里进入生命周期?
    • 如何管理Session?知道cookie吗?
    • 如何确保线程安全?

    什么是web服务器,应用服务器和web容器?

    我先讨论web服务器和应用服务器。让我在用一句话大概讲讲:

    “在过去它们是有区别的,但是这两个不同的分类慢慢地合并了,而如今在大多在情况下和使用中可以把它们看成一个整体。”

    Mosaic浏览器(通常被认为是第一个图形化的web浏览器)和超链接内容的初期,演变出了“web服务器”的新概念,它通过HTTP协议来提供静态页面内容和图片服务。在那个时候,大多数内容都是静态的,并且HTTP 1.0只是一种传送文件的方式。但在不久后web服务器提供了CGI功能。这意味着我们可以为每个web请求启动一个进程来产生动态内容。现在,HTTP协议已经很成熟了并且web服务器变得更加复杂,拥有了像缓存、安全和session管理这些附加功能。随着技术的进一步成熟,我们从Kiva和NetDynamics学会了公司专属的基于Java的服务器端技术。这些技术最终全都融入到我们今天依然在大多数应用开发里使用的JSP中。

    以上是关于web服务器的。现在我们来讨论应用服务器

    在同一时期,应用服务器已经存在并发展很长一段时间了。一些公司为Unix开发了Tuxedo(面向事务的中间件)、TopEndEncina等产品,这些产品都是从类似IMS和CICS的主机应用管理和监控环境衍生而来的。大部分的这些产品都指定了“封闭的”产品专用通信协议来互连胖客户机(“fat” client)和服务器。在90年代,这些传统的应用服务器产品开始嵌入HTTP通信功能,刚开始要利用网关来实现。不久后它们之间的界线开始变得模糊了。

    同时,web服务器越来越成熟,可以处理更高的负载、更多的并发和拥有更好的特性;应用服务器开始添加越来越多的基于HTTP的通信功能。所有的这些导致了web服务器与应用服务器的界线变得更窄了。

    目前,“应用服务器”和“web服务器”之间的界线已经变得模糊不清了。但是人们还把这两个术语区分开来,作为强调使用。

    当有人说到“web服务器”时,你通常要把它认为是以HTTP为核心、web UI为向导的应用。当有人说到“应用服务器”时,你可能想到“高负载、企业级特性、事务和队列、多通道通信(HTTP和更多的协议)”。但现在提供这些需求的基本上都是同一个产品。

    以上就是关于web服务器和应用服务器的全部内容。现在我们来看看第三个术语,即web容器。

    在Java方面,web容器一般是指Servlet容器。Servlet容器是与Java Servlet交互的web容器的组件。web容器负责管理Servlet的生命周期、把URL映射到特定的Servlet、确保URL请求拥有正确的访问权限和更多类似的服务。综合来看,Servlet容器就是用来运行你的Servlet和维护它的生命周期的运行环境。

    什么是Servlet?他们有什么作用?

    在Java里,Servlet使你能够编写根据请求动态生成内容的服务端组件。事实上,Servlet是一个在javax.servlet包里定义的接口。它为Servlet的生命周期声明了三个基本方法——init()、service()和destroy()。每个Servlet都要实现这些方法(在SDK里定义或者用户定义)并在它们的生命周期的特定时间由服务器来调用这些方法。

    类加载器通过懒加载(lazy-loading)或者预加载(eager loading)自动地把Servlet类加载到容器里。每个请求都拥有自己的线程,而一个Servlet对象可以同时为多个线程服务。当Servlet对象不再被使用时,它就会被JVM当做垃圾回收掉。

    懒加载的Servlet

    预加载的Servlet

    什么是ServletContext?它由谁创建?

    当Servlet容器启动时,它会部署并加载所有的web应用。当web应用被加载时,Servlet容器会一次性为每个应用创建Servlet上下文(ServletContext)并把它保存在内存里。Servlet容器会处理web应用的web.xml文件,并且一次性创建在web.xml里定义的Servlet、Filter和Listener,同样也会把它们保存在内存里。当Servlet容器关闭时,它会卸载所有的web应用和ServletContext,所有的Servlet、Filter和Listner实例都会被销毁。

    从Java文档可知,ServletContext定义了一组方法,Servlet使用这些方法来与它的Servlet容器进行通信。例如,用来获取文件的MIME类型、转发请求或者编写日志文件。在web应用的部署文件(deployment descriptor)标明“分布式”的情况下,web应用的每一个虚拟机都拥有一个上下文实例。在这种情况下,不能把Servlet上下文当做共享全局信息的变量(因为它的信息已经不具有全局性了)。可以使用外部资源来代替,比如数据库。

    ServletRequest和ServletResponse从哪里进入生命周期?

    Servlet容器包含在web服务器中,web服务器监听来自特定端口的HTTP请求,这个端口通常是80。当客户端(使用web浏览器的用户)发送一个HTTP请求时,Servlet容器会创建新的HttpServletRequest和HttpServletResponse对象,并且把它们传递给已经创建的Filter和URL模式与请求URL匹配的Servlet实例的方法,所有的这些都使用同一个线程。

    request对象提供了获取HTTP请求的所有信息的入口,比如请求头和请求实体。response对象提供了控制和发送HTTP响应的便利方法,比如设置响应头和响应实体(通常是JSP生成的HTML内容)。当HTTP响应被提交并结束后,request和response对象都会被销毁。

    如何管理Session?知道cookie吗?

    当客户端第一次访问web应用或者第一次使用request.getSession()获取HttpSession时,Servlet容器会创建Session,生成一个long类型的唯一ID(你可以使用session.getId()获取它)并把它保存在服务器的内存里。Servlet容器同样会在HTTP响应里设置一个Cookie,cookie的名是JSESSIONID并且cookie的值是session的唯一ID。

    根据HTTP cookie规范(正规的web浏览器和web服务器必须遵守的约定),在cookie的有效期间,客户端(web浏览器)之后的请求都要把这个cookie返回给服务器。Servlet容器会利用带有名为JSESSIONID的cookie检测每一个到来的HTTP请求头,并使用cookie的值从服务器内容里获取相关的HttpSession。

    HttpSession会一直存活着,除非超过一段时间没使用。你可以在web.xml里设定这个时间段,默认时间段是30分钟。因此,如果客户端已经超过30分钟没有访问web应用的话,Servlet容器就会销毁Session。之后的每一个请求,即使带有特定的cookie,都再也不会访问到同一个Session了。servletcontainer会创建一个新的Session。

    现有的Session

    新的Session

    另外,在客户端的session cookie拥有一个默认的存活时间,这个时间与浏览器的运行时间相同。因此,当用户关闭浏览器后(所有的标签或者窗口),客户端的Session就会被销毁。重新打开浏览器后,与之前的Session关联的cookie就再也不会被发送出去了。再次使用request.getSession()会返回一个全新的HttpSession并且使用一个全新的session ID来设置cookie。

    如何确保线程安全?

    你现在应该已经知道所有的请求都在共享Servlet和Filter。这是Java的一个很棒的特性,它是多线程的并且不同的线程(即HTTP请求)可以使用同一个实例。否则,对每一个请求都重新创建一个实体会耗费很多的资源。

    你同样要知道,你不应该使用Servlet或者Filter的实例变量来存放任何的请求或者会话范围内的数据。这些数据会被其他Session的所有请求共享。这是非线程安全的!下面的例子说明了这个问题:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class MyServlet extends HttpServlet
    {
        private Object thisIsNOTThreadSafe; //Don't to this
     
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
        {
            Object thisIsThreadSafe;
     
            thisIsNOTThreadSafe = request.getParameter("foo"); // BAD!! Shared among all requests!
            thisIsThreadSafe = request.getParameter("foo"); // OK, this is thread safe.
        }
    }

    不要这样做,这会导致软件出bug。

    所有的话题已经讲完了。敬请期待更多的文章。建议使用电子邮件订阅来获取文章更新的通知。

    学习愉快!!

    原文链接: howtodoinjava 翻译: ImportNew.com 进林
    译文链接: http://www.importnew.com/15020.html
    展开全文
  • Web缓存工作原理

    千次阅读 2016-05-24 23:46:46
    但除了一些微妙的细节之外,Web缓存的基本工作原理大多很简单。对一条HTTP GET报文的基本缓存处理过程包括7个步骤: 接收——缓存从网络中读取抵达的请求报文 解析——缓存对报文进行解析,提取URL和各种首部 查询...
  • SpringMVC框架工作流程工作原理

    万次阅读 多人点赞 2018-07-10 09:13:39
    SpringMVC框架的工作原理图:SpringMVC的具体工作原理1、客户端用户发送请求至前端控制器DispatcherServlet。2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、HandlerMapping处理器映射器找到具体...
  • Web 网站的基本工作原理 Web 网站工作原理及 Apache 的工作原理
  • Web服务器的工作原理(一)

    千次阅读 2016-11-21 15:16:31
    Web服务器的工作原理(一)12@(服务器)[Web服务器, Notes] VICTORY LOVES PREPARATIONWeb服务器的工作原理一12 思维导图 一web服务器应用服务器和web容器 web服务器 应用服务器 web容器 二Servlet 三ServletContext...
  • WEB应用的工作原理

    千次阅读 2019-07-11 16:05:30
    文章目录前言一 什么是WEB应用1.1 应用的类型1.2 Web应用工作原理 前言 word专业版真好用,笑哭。都不想面对干巴巴的MarkDown格式了。 《大型网站技术架构》的读书笔记我放在word里写了。博客里就写一些零散的知识。...
  • Web服务器的工作原理

    千次阅读 2015-12-01 11:23:40
    了解WEB服务器的工作原理和相关概念是后台开发人员的必修课,这篇文章来自 : Web服务器的工作原理很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http...
  • 【转载】WEB工作原理简述

    千次阅读 2016-11-28 13:54:09
    作为一名想学习网站开发, 或者更专业一点说叫"B/S体系结构系统"开发的同学来说, ... 但是, 在你开始之前, 请稍安勿躁, 了解一下网站是如何工作的往往是一件"磨刀不误砍柴工"的事情. 曾经接触过一些公司里刚入职的程序
  • Web服务器工作原理详解(基础篇)

    万次阅读 多人点赞 2018-08-14 17:12:00
    概述:Web服务器概念较为广泛,我们最常说的Web服务器指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序。Web服务器可以向Web客户端(如浏览器)提供文档或其他服务,只要是遵循HTTP协议而设计的...
  • web application server工作原理

    千次阅读 2012-01-31 11:20:24
    Web 服务器插件基础 WAS 前端支持很多不同厂商的 Web 服务器,常见的 Web 服务器包括 IBM ...如下所示,一个从浏览器发送的 HTTP 请求经过 Web 服务器之后会被重新定向给应用服务器 ( 这里指的应用服务器都是 WA
  • Web欺骗的工作原理

    千次阅读 2007-06-16 22:42:00
    为了建立起这样的中间Web服务器,黑客往往进行以下工作。 改写URL 首先,攻击者改写Web页中的所有URL地址,这样它们指向了攻击者的Web服务器而不是真正的Web服务器。假设攻击者所处的Web服务器是 www.org ,攻击者...
  • Web欺骗的工作原理 欺骗能够成功的关键是在受攻击者和其他Web服务器之间设立起攻击者的Web服务器,这种攻击种类在安全问题中称为“来自中间的攻击”。为了建立起这样的中间Web服务器,黑客往往进行以下工作。 改写...
  • web服务器工作原理及http协议通信

    千次阅读 2011-10-10 10:18:45
    一个 Web 服务器也被称为 HTTP 服务器,它通过 HTTP ... Web服务器的工作原理简单的可以归纳为:客户机连接服务器,客户端向服务器发送请求,服务器向客户机发送应答,客户机与服务器断开。一个简单的事务处理事
  • Web应用工作原理、动态网页技术

    万次阅读 2013-05-25 09:44:52
    web应用程序又是如何进行工作的呢?什么是动态网页技术?又有  哪些动态网页技术呢?这次这篇文章需要探求总结的。  Web应用  我们知道应用程序有两种模式,C/S模式和B/S模式。C/S模式是客户端/服务器模式,这...
  • 走进Web开发(2)--web应用程序工作原理

    千次阅读 2011-08-17 20:52:33
    让我们来看看web应用程序的工作原理吧.搞清楚它的工作原理和机制,对于我们编写web程序是非常有好处的. 首先说明一下运行web应用程序需要那些部分:网页,web服务器,客户浏览器以及客户端和浏览器之间通信的HTTP协议....
  • php在web服务器中的工作原理

    千次阅读 2017-11-05 14:04:03
    1.web工作原理  我是学习PHP网站建设的,那么网站在客户端和服务端的运行是网站运行的根本所在,那个这个运行过程是怎样的呢?我们一探就将!  Web:终端  服务器web:我们把提供(响应)服务的计算机称作服务器...
  • Web服务器的工作原理及其相关协议

    千次阅读 2016-04-21 16:52:30
    通俗的说,Web服务器是可以向发出请求的浏览器提供文档的程序。 1、服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。 2 、最常用的Web服务器是Apache和...
  • Web系统构成与工作原理 1.1 Web系统的发展历程 C/S结构:客户机和服务器结构 如QQ、迅雷、魔兽争霸等需要下载安装客户端软件的系统 B/S架构:不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护时...
  • Web资源认证原理

    千次阅读 2016-04-26 09:16:36
    Web服务器与浏览器之间的认证流程没有规定的步骤,根据不同的认证模式及鉴权方式可能会有不同的执行步骤。下用一个最简单的流程了解整个认证过程是如何工作的,首先浏览器向服务器发起请求,然后服务器向浏览器...
  •  Web服务器的工作原理可以简单地归纳为:     客户机通过TCP/IP协议建立到服务器的TCP连接   客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档   服务器向客户机发送HTTP协议应答包,如果请求的资源...
  • 嵌入式Web服务器软件构成与工作原理(一)   嵌入式Web 服务器的工作原理 1、服务器软件(BOA)始终在HTTP 端口守候客户端的连接请求,当客户端向服务器发起一个连接请求后,客户端和服务器之间经过“三步握手”...
  • 什么是Web?及web服务器原理

    千次阅读 2016-12-10 23:53:06
    什么是WebWeb就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。你可以从中获取更多的信息。可以转到别的主题上。...
  • Web搜索引擎工作原理和体系结构

    千次阅读 2015-11-03 15:51:01
    1、Web搜索引擎的基本要求搜索引擎是一个网络应用软件系统,如下所示,对它有如下基本要求。 能够接受用户通过浏览器提交的查询词或者短语,记作q,例如“大数据”,“Spark”等等。 在一个可以接受的时间内返回...
  • java web开发中的三层架构原理图

    千次阅读 2013-11-20 21:15:51
  • 常见WEB漏洞原理分析

    千次阅读 2019-08-09 11:47:05
    本文根据当前Web应用的安全情况,列举了Web应用程序常见的攻击原理及危害,并给出如何避免遭受Web攻击的建议。 Web应用漏洞原理 Web应用攻击是攻击者通过浏览器或攻击工具,在URL或者其它输入区域(如表单等),...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 331,677
精华内容 132,670
关键字:

web工作原理图