Web容器、服务器、容器的理解总结
Tomcat 是一个小型的轻量级应用服务器,很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
一般认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
服务器,硬件角度上说就是一台高性能的Computer。我们通常指的服务器其实应该是装有能够处理具体请求事务的服务器软件的Computer。比如最常见的www服务器、mail服务器、计费服务器、ftp服务器等等。很多时候人们常把诸如Tomcat、IIS、Weblogic 也称之为web服务器,其实这些只是用于开发、集成、部署和管理Web应用、网络应用和数据库应用的应用服务器软件。
1、什么是容器?
Servlet没有main()方法。Servlet受控于另一个Java应用,这个Java应用称为容器。Tomcat就是这样一个容器。如果web服务器应用得到一个指向servlet的请求(而不是其他请求,如请求一个普通的静态HTML),此时服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器,要由容器调用servlet的方法,如doPost()或doGet()。
2、容器能提供什么?
通信支持:利用容器提供的方法,你能轻松地让servle与Web服务器对话;
生命周期管理:容器控制着servlet的生与死。它会负责加载类、实例和初始化servlet、调用servlet方法,并使servlet实例能够被垃圾回收。
多线程支持:容器会自动地为它接收的每个servlet请求创建一个新的java线程。针对客户机的请求,如果servlet已经运行完相应的HTTP服务方法,这个线程就会结束(也就是会死掉)。
声明方式实现安全:利用容器,可以使用XML部署描述文件配置(和修改)安全性,而不必将其硬编码写到servlet(或其他)类代码中。
JSP支持:负责把JSP代码翻译成真正的java。
web应用程序需要部署到web容器中才能运行,两者都必须符合javaEE规范。web容器的应用程序规范如下:
1.目录结构规范:javaWeb程序的所有文件都包含在一个文件夹中,包含WEB-INF子文件夹和META-INF子文件夹,WEB-INF文件夹包含classes文件夹和lib文件夹以及web.xml。
如Tomcat结构目录
/bin:包含启动和关闭Tomcat的文件
/conf:包含不同的配置文件:server.xml,web.xml,tomcat-user.xml
/lib:包含Tomcat使用的JAR文件
/logs:包含日志文件
/webapps:包含应用程序示例及自己开发的程序
/work:包含有JSP生成的Servlet
2.jar文件放在WEB-INF/lib文件夹中。
3.web.xml规范:是整个web应用程序的描述文件,里面定义者该Web应用程序可供访问的信息资源以及这些资源的行为,包括servlet,过滤器,监听器,安全验证等信息资源。
4.其他资源文件,如jsp,html,图片和声音的放在与WEB-INF同一级目录下,因为WEB-INF文件夹对于客户端是不可见的。
web容器是一种服务程序,是能够支持发布web程序的软件,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。
b/s结构下,以常见的自来水供水系统为例来说,整个web系统好比完整的供水系统,用户只需要有水龙头(Broswer),水管相当于计算机网络(network),自来水公司的供水系统(即Server),其中的压力水罐就是容器(Container)了。
Tomcat是Apache-Jarkarta的一个子项目,是一个开放式源码,免费支持JSP和Servlet技术的容器,它同时又是一个Web服务器软件。
Servlet和JSP两者分工协作,Servlet侧重于解决运算和业务逻辑问题,JSP则侧重于解决展示问题。Servlet与JSP一起为Web应用开发带来了巨大的贡献,后来出现的众多Java Web应用开发框架都是基于这两种技术的,更确切的说,都是基于Servlet技术的。
servlet容器的主要任务是管理servlet的生命周期。web容器更准确的说应该叫web服务器(Python的web容器有web.py等),它是来管理和部署web应用的。还有一种服务器叫做应用服务器,它的功能比web服务器要强大的多,因为它可以部署EJB应用,可以实现容器管理的事务,一般的应用服务器有weblogic和websphere等,它们都是商业服务器,功能强大但都是收费的。web容器最典型的就是tomcat了,Tomcat是web容器也是servlet容器。
相关推荐
在IT行业中,Web容器,也称为Web服务器或者应用服务器,是用于运行Web应用程序的...提供的文件列表中的组件可能包含了Web服务器的主程序、用户指南、说明文档以及实际操作的示例,帮助用户快速理解和利用这个Web容器。
1. **Web容器**:Web容器(也称为应用服务器或Servlet容器)是运行在服务器上的一个软件组件,它负责加载、管理并执行Servlet。常见的Web容器有Tomcat、Jetty、JBoss、WebLogic等。Web容器提供了执行Servlet所需的...
许多站点都是使用该WEB服务器构建的。 Resin也可以和许多其他的WEB服务器一起工作,比如Apache server和IIS等。Resin支持Servlets 2.3标准和JSP 1.2标准。熟悉ASP和PHP的用户可以发现用Resin来进行JSP编程是件很...
- Tomcat:作为Java应用服务器,它是一个Web容器,负责运行和管理Java Servlet和JSP应用。 4. **Web容器** - Web容器(如Tomcat):管理Servlet的生命周期,负责加载、初始化、实例化Servlet,处理HTTP请求和响应...
IIS、Apache、Tomcat、Weblogic、WebSphere 都是不同的服务器, Apache 是纯粹的 Web 服务器,Tomcat 是一个 Servlet 和 JSP 容器,可以作为轻量级应用服务器,IIS 是一个兼具应用服务器功能的 Web 服务器,Weblogic...
标题中的“WEB容器托管OSGi容器(轻量级集成方式)”是指在Web应用程序服务器(如Tomcat、Jetty等)中嵌入OSGi(Open Service Gateway Initiative)框架,实现服务组件的轻量化管理和部署。OSGi是一种动态模块化系统...
3. **使用Jetty作为Web容器** - 首先,需要在项目中添加Jetty的依赖,可以通过Maven或Gradle来管理。 - 创建一个`Server`实例,并配置监听端口。 - 添加`Handler`,如`ServletContextHandler`,来处理HTTP请求。 ...
7. **容器**:在Web开发中,容器是指能够管理和运行Web应用程序的环境,如Tomcat就是一个Web应用服务器容器。尽管这个简单的web服务器没有实现完整的容器功能,但它可以看作是轻量级的容器,能处理静态资源的请求。 ...
总结来说,Web服务器专注于提供静态内容,HTTP服务器与Web服务器概念接近。应用程序服务器则负责处理动态内容和业务逻辑,通常包含更丰富的功能。在实际应用中,这些服务器可以单独使用,也可以相互协作,以满足不同...
总结,Apache Tomcat 7.0.42是一款强大的Web容器,尤其适合小型到中型的Java Web应用。其易于安装、配置和管理,为开发者提供了便利的开发和部署环境。通过理解和掌握上述知识点,用户能够更好地利用Tomcat服务神器...
Java微服务实践-Spring Boot嵌入式Web容器 Java微服务实践是指在微服务架构中使用Java语言开发微服务, Spring Boot则是基于Java语言的框架,提供了许多便捷的功能来快速开发微服务。在微服务架构中,Web容器是必不...
Web容器集群是指通过负载均衡技术,将多个独立的Web服务器(即Web容器)连接在一起,形成一个整体,以提高系统的可伸缩性和可用性。当一个请求到达集群时,负载均衡器会根据预设的策略将请求分发到不同的服务器上,...
**Jetty Web 容器详解** Jetty 是一个开源的、轻量级的 Java Web 应用服务器,它被广泛用于开发、测试和部署Web应用程序。...通过深入理解和熟练使用 Jetty,开发者可以更自由地构建和部署Java Web应用程序。
通过这个示例程序,你可以学习到如何在不同的Web容器中部署和运行Java Web应用,理解它们的异同,以及如何优化性能以应对高并发场景。同时,了解项目的基本结构和构建过程,对于提升Java Web开发技能也是非常有益的...
综上所述,理解Web服务器、应用服务器和Web容器的概念及其之间的关系,掌握Servlet的工作原理,以及熟悉ServletContext、ServletRequest和ServletResponse的作用,对于开发高效可靠的Web应用至关重要。同时,有效地...
【Java实现简易Web容器】 Java实现的简易Web容器是一个用于托管Web应用程序的软件,它可以接收HTTP请求,并将这些请求分发到相应的后端服务。在本项目中,你将学习到如何利用Java来构建这样一个基础架构,这对于...
这可能涉及到IIS、Kestrel服务器、Docker容器化或其他部署策略。 通过学习和实践这个简单的C# Web服务器,开发者可以深入了解网络编程、HTTP协议、多线程处理以及C#语言的更多特性。这对于进一步学习ASP.NET Core或...
`tk-filter` 是一个针对这种需求设计的过滤器(Filter),它适用于各种Web容器,如Tomcat、Jetty等。这个过滤器的主要功能是在Web服务器端对js、jsp和css文件进行压缩,然后再发送到客户端,从而减少网络传输的数据...
在IT领域,Web服务器和Tomcat服务器是两个关键的概念,它们在构建和部署...总的来说,理解和配置Web服务器和Tomcat服务器是开发和运维Web应用的关键技能。通过深入学习,开发者可以创建更高效、更安全的Web服务环境。