解决方案 »

  1.   


    大家人呢  难道都不上csdn了?
      

  2.   

    你的理解是没错的,只是你接触到的业务场景,规模比较小网上也找了一些说法,大家都说web服务就是类似Apache一类的来专门处理http请求,不做任何业务逻辑的处理,而是只做页面的呈现即 Web服务器传送页面使浏览器可以浏览,而应用服务器来解决具体的业务逻辑等。其实这个很容理解,但是由于平时项目的原因,比如SpringMVC的一个web应用,这样的应用发布的时候,jsp页面 和 m ,c 层 都在一起,这样怎么来单独做一个web服务来处理jsp页面的呈现,而把具体的处理分离出来放到 应用服务器上上面这段话就是我产生困惑的地方,是我对web服务理解错还是 jsp页面也算是业务逻辑?
    这个理解是对的,在一个比较大规模的服务器后台中,一般都会把静态web服务抽取出来,用单独的服务器来承载静态的http请求,这里会用apache或者nginx。涉及到动态的,也就是你说的业务逻辑,会放在一个负载均衡服务器后面,专门用来处理动态的请求。再详细的说,就涉及到大型后端系统的架构设计了,太多内容不表。所以你的理解没错,只是你接触到的规模比较小,web服务 和应用服务这两个逻辑上分开的东西在物理上合为一体了
      

  3.   

    应用服务器包含web服务器,web服务器一般指处理http请求的服务器。
      

  4.   

    web服务器,如Apache, Nginx,Lightpid...
    应用服务器,如tomcat, sailfin等等通常应用服务器也会包含一些web服务器的功能
      

  5.   

    web服务器是应用服务器,但是不能说应用服务器是web服务器。例如:
    我有一台服务器提供web访问的,可以说是web服务器,也可以说是应用服务器。但是我另外有一台服务器提供的是socket接口对外访问的,使用的是tcp/ip协议,那么这个是应用服务器,但是不是web服务器。
      

  6.   

    网上的 1.WEB服务器
    -------------------------
        理解WEB服务器,首先你要理解什么是WEB?WEB表现为三种形式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(HTTP)等。你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB服务器,如IIS、apache。WEB服务器与客户端打交道,它要处理的主要信息有:session、request、response、HTML、JS、CS等。-------------------------
    2.应用服务器
        应用服务器如JSP,处理的是非常规性WEB页面(JSP文件),他动态生成WEB页面,生成的WEB页面在发送给客户端(实际上当应用服务器处理完一个JSP请求并完成JSP生成HTML后它的任务就结束了,其余的就是WEB处理的过程了)。-------------------------
    3.两者关系
        WEB服务器一般是通用的,而应用服务器一般是专用的,如Tomcat只处理JAVA应用程序而不能处理ASPX或PHP。而Apache是一个WEB服务器f(HTTP服务器),他的信息源(本人暂且这么理解)可以是配置在tomcat中的JAVA应用,也可以是ASPX应用。
      

  7.   


    谢谢大家啦  可能是平时的项目中,css ,jpg ,还有很多其他静态资源也都是和jsp一起部署的 所以感觉项目上来说分的不清楚看了大家的仔细想了一下,其实对于大型系统来说,把一个项目分开部署到web服务和应用服务上还是比较好的一种方式。是我之前对应用服务上的应用理解的有点太狭隘了  哈哈 欢迎大家继续讨论  如果一个springmvc的工程,我想分开部署,应该大概怎么做?比如我的web服务用 apache,  应用服务用weblogic,这样的话 应该把常见的 springmvc工程做什么样的改造才能这样部署?毕竟一般情况下 ,jsp , html这些东西都在一个工程下面,特别是jsp页面上引用的css这一类样式的时候,如果分开的话是否还需要把以前的 <css src=''> 这种的都写成远程的路径?
      

  8.   

    包含关系吧,web服务器范围大一些。
      

  9.   

    不要尝试去设计一个架构。如果你没有相关的需求,还是别去做这个尝试,毕竟这样的事情除了让你的系统变得更复杂之外没什么好处。你一定要做,可以尝试把系统里独立的业务抽取出来变成子系统。比如登录功能,变成一个独立的登录子系统、部署在应用服务器上,用RMI/或者其他的什么方式和你的web端通信。
    在这个场景下,你的登录子系统就成为了一个独立通用、可重用的应用服务,暴露API给其他的调用方使用,说得再高端一点,这就是PaaS。这是一个简单的例子。
      

  10.   

    web服务器 负责接入用户
    应用服务器 负责业务处理当然业务处理不复杂的话,直接在web服务器上做也可以。
      

  11.   

    个人理解 ,web服务器 ,就是 处理 http 相关 的 ,比如代理,负载均衡之类的。 应用服务器,就是要处理应用 ,通常我们用到了 jsp,也就是 动态页面,所以需要使用tomcat之类的东东来解析 。 实际上就是各自处理web应用的一部分。 但通常tomcat这类东东,也带有部分web服务器的功能,所以用tomcat可以直接解决。 microsoft就是iis。大而全,但不精 。 
      

  12.   

    一直用tomcat 没注意过区分 学习下
      

  13.   

    楼主提及tomcat以及SSH,明显是做java开发的,在JAVA EE开发的语境里,web服务器和应用服务器的区别就是,一个只包含java web容器,另一个在web容器之外,还包含EJB容器,同时,支持JNDI,JMS,JTA等JAVA EE服务。
    当然,tomcat也支持简单的JNDI服务。
      

  14.   

    还是没明白 
    如果我要做一个大一点的项目 
    我想把我的动态请求响应服务放到应用服务器上
    静态画面还有其他都放到web服务器上来处理
    这个时候怎么实现?我的理解是应该所有请求都访问web服务,但是web服务发现时动态请求时应该怎么发给应用服务 然后应用服务处理完了之后怎么返回消息?
      

  15.   

    我也有这样的困惑,就是怎么把静态资源和动态资源分开来,但又不影响系统正常工作。我只想让静态资源走Apache,动态的交互才走tomcat。我也不懂,继续观摩大神解答。