zoukankan      html  css  js  c++  java
  • j2ee爬坑行之一:web容器

    什么是容器?

    servlet没用main方法,它们受控于另一个java应用程序,这个应用程序就称为容器。
    tomcat就是这样一个容器。当web服务器得到一个指向某servlet的请求,此时服务器不是直接将请求交给该servlet本身,而是交由部署该servlet的容器,由容器向servlet提供HTTP请求和响应,而且要由容器调用servlet的方法,如doPost()或doGet()。容器主要提供一下几个支持:

    1. 通信支持:利用容器提供的方法,你能轻松的让servlet 与web服务器对话,无需自己建立与web服务器之间的通信
    2. 生命周期管理:控制servlet的生命周期:servlet的加载、实例化和初始化servlet、调用servlet方法,并使servlet能被垃圾回收器回收
    3. 多线程支持:容器会自动为它接受的每个请求创建一个新的java线程来处理此请求
    4. 声明方式实现安全:使用XML部署描述文件来配置安全性
    5. jsp支持

    容器处理请求过程

    1. 用户点击一个链接,其url指向一个servlet而不是指向一个静态页面
    2. 容器根据url解析出对应的servlet,并为该请求创建两个对象:1)HttpServletResponse 2)HttpServletRequest
    3. 容器根据请求中的url找到正确的servlet,为这个请求创建或分配一个线程,并把该请求和响应传递给这个servlet线程
    4. 容器调用servlet的service()方法。根据请求的不同类型,service()方法会调用doGet()或doPost()方法。
    5. do**()方法生成动态页面,并把这个页面注入响应对象。
    6. 线程结束,容器把响应对象转换为一个http响应,并返回给客户,然后删除请求和响应对象。

    下面是一个servlet示例:

    public class HelloWoldServlet extends HttpServlet{
        @Override
        public void doGet(HttpServletRequest request,
                            HttpServletResponse response)
        throws IOException{
            PrintWriter out = response.getWriter();
            out.println("Hello World!");
        }
    }
  • 相关阅读:
    C指针详解(经典,非常详细)
    PL/SQL错误提示 database character set(AL32UTF8) and Client character set(ZHS16GBK) are different
    安装Oracle报错,全部为未知!
    Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装
    Asp.Net页面生命周期
    oracle 导库建立测试库
    宝塔安装建站教程
    SEM理论
    SEM小总结
    SEM大致操作梳理
  • 原文地址:https://www.cnblogs.com/graph/p/4545088.html
Copyright © 2011-2022 走看看