当前位置:首页>开发>正文

web服务器、web应用服务器、应用服务器、web容器和servlet容器这几个概念的区别和联系。 Web Service和Servlet的区别

2023-04-29 07:29:30 互联网 未知 开发

 web服务器、web应用服务器、应用服务器、web容器和servlet容器这几个概念的区别和联系。 Web Service和Servlet的区别

web服务器、web应用服务器、应用服务器、web容器和servlet容器这几个概念的区别和联系。


Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主 要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的(有没有支持除HTTP之外的协议的web服务器,作者没有考证过),说 的是一回事。

应用程序服务器(简称应用服务器),我们先看一下微软对它的定义:"我们把应用程序服务器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。 就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)"
servlet容器是用来同意管理servlet实例的额,包括servlet实例的初始化、生成、运行、销毁的统一维护。

Web Service和Servlet的区别

最近项目中有提供或者调用别的接口,在纠结中到底是用servlet还是用webservice,所以上网查看了下他们以及RMI之间的区别,方便加深了解。

首先比较下servlet和webservice下
请求:
servlet:提供了请求/响应模式,是JAVA的一种规范,只能使用于java上,用来替代早期使用的难懂的CGI,是一种无状态的请求响应,客户端访问一个服务器的url,只需要发送简单的httprequest即可。 规定了四个范围:pageContext、request、session、application。一定依赖于各种SERVLET容器,但servlet只能接受一个简单的http请求;
WebService最早是微软提出了一种以XML为载体网络信息传输的规范,现在几乎所有的语言与平台都支持,带有状态机制,不依赖于SERVLET容器,可以发送一个xml作为其请求内容,WebService通常是基于http的远程方法调用(RMI),号称是可以反回远程对象, 一般来说客户段可以象调用本地方法一样调用WebService的方法。

传输:
servlet使用http协议传输数据,如果你用Servlet返回XML,那个XML的描述框架就是你定的,必须告知使用者具体的说明,没有统一标准。
webservice使用固定的XML格式封装成soap消息,可以使用http作为底层数据传输,但并不局限于http协议,方法返回消息是有标准的。

返回结果:
servlet返回的是html页面;
webservice返回的可以是复杂对象甚至使用附件或者mutidata的二进制文件。

部署:
servlet需要遵守j2ee的Web Application规范部署的应用服务器上,如tomcat,weblogic,websphere;
WebService则需要有WSDL文件来部署服务,或者使用UDDI注册。

优势:
WebService的跨平台特性是servlet不能比的,可以被各种语言调用;
servlet相对来说速度上的优势也是不可忽视的。

接下来在看看RMI和webservice中的

rmi的客户端和服务端都必须是java,webservice没有这个限制
webservice是在http协议上传递xml文本文件,与语言和平台无关
rmi是在tcp协议上传递可序列化的java对象,只能用在java虚拟机上,绑定语言
RMI是EJB远程调用的基础,仅用RMI技术就可以实现远程调用,使用EJB是为了实现组件,事物,资源池,集群等功能。
WebService是通过XML来传输数据,可用http等协议因此可在异构系统间传递,并且可以穿过防火墙,可在公网上远程调用

Web容器中Servlet,listener和filter有什么区别以及作用?

servlet:小服务,处理request和response,是核心;
listener:监听器,主要用于监听事件,如容器启动,小服务装载,会话事件之类的;
filter:过滤器,可以在请求到达实际URI之前拦截,并作出修改;同时可以在response返回客户端之前拦截处理。

servlet容器与web容器???

没必要在这两个概念上死嗑,一般的说法是这样的,servlet容器的主要任务是管理servlet的生命周期。而你说的web容器更准确的说应该叫web服务器,它是来管理和部署web应用的。还有一种服务器叫做应用服务器,它的功能比web服务器要强大的多,因为它可以部署EJB应用,可以实现容器管理的事务,一般的应用服务器有weblogic和websphere等,它们都是商业服务器,功能强大但都是收费的。web容器最典型的就是tomcat了,Tomcat是web容器也是servlet容器。

servlet引擎和servlet容器区别

其实很简单的,用不着细扣。你可以看下tomcat配置文件思路就清晰了:tomcat_homeconfserver.xml 从标签元素组成来理解,所谓servlet容器就是一个大的处理web应用的整体,对应其中的server元素(也就是根元素)下的service元素,容器的名字叫Catalina,处理从客户端发来的请求。
接着service下有Connector元素(确定端口的连接)与Engine元素(也就是引擎,负责做具体处理的,比如管理你所了解的servlet生命周期)
容器相当于小轿车,引擎也就是发动机(干实事的)
Engine下有不同主机即元素来区分,通常一个的话就是localhost
host下有不同应用:即我们通常的Context 元素,可为每个应用配置虚拟目录,就是对应每个应用即你的 打包war文件

jsp与servlet的区别?

jsp和servlet的区别有以下几点:
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。
1、jsp经编译后就变成了Servlet。
2、jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。
3、Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletResponse对象以及HttpServlet对象得到。
4、而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。

扩展资料:
Servlet和JSP的不同点:
1、Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。
2、而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。
3、JSP侧重于视图,Servlet主要用于控制逻辑
4、Servlet更多的是类似于一个Controller,用来做控制。
参考资料来源:搜狗百科-servlet

Servlet与Struts的区别?请详细一点!

Servlet也是在Web容器中运行的,
Servlet的生命周期容器启动的时候,会加载servlet的class,并new出这个对象,然后,当用户请求
这个servlet的时候,容器会调用init方法初始化这个 servlet,这也是整个生命周期
中只会调用一次的方法,然后,会调用service方法,由这个方法调用doGet或
doPost方法来响应用户,然后,容器在可用资源紧张或是长期没有对Servlet发出
请求的情况下,会销毁这个servlet。

struts是一个基于MVC模式的一个框架,分别是表示层(view)、控制层(controller)、和模型层(Model)。其表示层使用Struts标签库构建。来自客户的所有需要通过框架的请求统一由叫ActionServlet的servlet接收(ActionServlet Struts已经为我们写好了,只要您应用没有什么特别的要求,它基本上都能满足您的要求),根据接收的请求参数和Struts配置(struts-config.xml)中ActionMapping,将请求送给合适的Action去处理,解决由谁做的问题,它们共同构成Struts的控制器。Action则是Struts应用中真正干活的组件,开发人员一般都要在这里耗费大量的时间,它解决的是做什么的问题,它通过调用需要的业务组件(模型)来完成应用的业务,业务组件解决的是如何做的问题,并将执行的结果返回一个代表所需的描绘响应的JSP(或Action)的ActionForward对象给ActionServlet以将响应呈现给客户。