什么是Web容器?
解答:容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。
什么是Web容器
web容器是一种服务程序,就是为应用服务器组(如jsp,servlet等)提供一个运行环境,使JSP、servlet直接跟容器中的环境变量接口交互,不必关注其他系统问题。主要有web服务器来实现。
例如:tomcat、WebLogic,WebSphere等。该容器提供的接口严格遵守j2ee规范的web application标准。我们把遵循以上标准的web服务就叫做j2ee中的web容器。
什么是 web 容器
答: 给处于其中的应用程序组件( JSP , SERVLET )提供一个环境,使 JSP,SERVLET 直接更容器中的环境变量接 ** 互,不必关注其它系统问题。主要有 WEB 服务器来实现。例如: TOMCAT,WEBLOGIC,WEBSPHERE 等。该容器提供的接口严格遵守 J2EE 规范中的 WEB APPLICATION 标准。我们把遵守以上标准的 WEB 服务器就叫做 J2EE 中的 WEB 容器。
什么是Web容器?
解答:容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。
转载于:https://www.cnblogs.com/borter/p/9547285.html
什么是web容器?
a、web容器是一种服务程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以有多个容器。
b、启动结束一个servlet等等
c、刚刚接触Java的时候,最简单的容器,莫过于collection。而像web容器这样级别的容器,它不仅是装数据了那么简单,我们最常见的tomcat就是这样一个容器。
d、由容器向servlet提供http请求和响应,而且要由容器调用servlet的方法,如doPost或者doGet。
web容器的作用
servlet需要由web容器来管理,那么采取这种机制有什么好处呢?
通信支持
不用自己建立server,监听端口等等一系列复杂的操作。而容器的存在就帮我们封装这一系列复杂的操作。使我们能够专注于servlet中的业务逻辑的实现。
生命周期管理
容器负责servlet的整个生命周期。如何加载类,实例化和初始化servlet,调用servlet方法,并使servlet实例能够被垃圾回收。
多线程支持
容器会自动为接收的每个servlet请求创建一个新的java线程,servlet运行完之后,容器会自动结束这个线程。
声明式实现安全
利用容器,可以使用xml部署描述文件来配置安全性,而不必将其硬编码到servlet中。
jsp支持
容器将jsp翻译成java!
How the Container handles a request01.PNG
client点击一个URL,其URL指向一个servlet而不是静态界面。
How the Container handles a request02.PNG
容器识别出这个请求索要的是一个servlet,所以创建两个对象:
03.PNG
容器根据请求中的URL找到对应的servlet,为这个请求创建或分配一个线程,并把两个对象request和response传递到servlet线程中。
Paste_Image.png
容器调用servlet的service()方法。根据请求的不同类型,service()方法会调用doGet()或者doPost()方法。
Paste_Image.png
doGet()方法生成动态页面,然后把这个页面填入到response对象中,此时,容器仍然拥有response对象的引用。
Paste_Image.png
线程结束。容器把response对象转换成http响应,传回client,并销毁response和request对象。
<servlet>
<servlet-name>Ch1Servlet</servlet-name>
<servlet-class>ch1Servlet.Ch1Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Ch1Servlet</servlet-name>
<url-pattern>/Ch1Servlet</url-pattern>
</servlet-mapping>
servlet有三个名字:
<url-pattern>/Ch1Servlet</url-pattern>
<servlet-name>Ch1Servlet</servlet-name>
<servlet-class>ch1Servlet.Ch1Servlet</servlet-class>
。