1.将所有的资源部署在tomcat上 war包
    2.启动tomcat 带着这些资源一起运行
    3.浏览器发送请求 请求(资源)——> tomcat解析请求 寻找资源(参考配置文件) html jsp servlet
    带着参数
    找到一个servlet request.getParameter
    将参数传递给service
    service将参数传递给dao
    dao传递参数给JDBC 负责拼接 SQL
    将SQL发送给数据库 执行sql update query

    1. 数据库查询的结果ResultSet<br /> 交给JDBC(ORM) ResultSet拆开 变成对象domain<br /> dao接收JDBC的返回值 交给Service<br /> Service调用dao的方法 获取方法返回值(对象 集合) ** ↑**<br /> Service将返回值拆开 做业务判断 将结果返回给Controller<br /> controller做转发(带着service的返回值)<br />**注意:**<br />参数浏览器触发通常通过方法传递参数的形式进去的 <br />数据得到的查询结果通常通过方法返回值形式出来的 ↑<br /> 浏览器解析响应,最终展示

    MVC分层架构:
    V: View视图层 HTML(静态信息)+JSP(动态信息) 信息(String) JSP(HTML标签+EL+JSTL+JS+CSS) 现阶段
    EL取值拼接——响应
    C: Controller控制层 控制的是信息 Servlet setAttribute(结果);
    Servlet(获取请求参数+调用业务+给予响应 转发 重定向 自己给)
    通过request接收参数 传递给业务 返回值(业务判断结果)
    ↓ M: Model模型层 数据模型(数据处理+数据读写+数据存储)
    Service数据处理 业务逻辑 domain对象(不通过返回值)
    接收方法参数的传递 传递给dao
    Dao 数据读写 存储CURD ResultSet拆成对象
    接收方法参数的传递 传递给JDBC(ORM) 拼串儿SQL ResultSet返回值
    Domain数据存储 一行记录—一个对象
    DB: DataBase数据层
    MySQL

    Session 与 TheadLocal 管理机制的对比:
    session对象的管理类
    SessionManager{//Tomcat内部的 看不见 sessionMap是单例
    private Map sessionMap;
    public HttpSession getSession(String JSESSIONID){
    return sessionMap.get(JSESSIONID);
    }
    }
    使用的session类 好多个session对象 每一个对象一个人使用
    HttpSession{
    private Map attributeMap;
    public Object getAttribute(String key){
    return attributeMap.get(key);
    }
    public void setAttribute(String key,Object value){
    attributeMap.put(key,value);
    }
    }
    TheadLocal管理机制与Session管理机制类似:
    JSESSIONID(String 标识)——————-> t 当前线程(Thread类型 标识)
    通过标识找session(一个箱子)—————>通过t找ThreadLocalMap(一个箱子)
    通过session.setAttribute(key,value); ThreadLocalMap.set(this,value);
    key自己定义 key已经固定了 this当前对象(ThreadLocal)

    1. 我是一个线程t t本身是找箱子的密码<br /> t负责找到我的箱子ThreadLocalMap<br /> 这个箱子只有一个格子<br /> 找到箱子打开才能获取里面的value <br /> 打开箱子需要另一个密码(ThreadLocal对象)<br /> 当前t线程配着一个Threadlocal对象 map就是唯一的<br /> value只能存储一个信息 想要存储多个 将多个信息包装起来
    2. Thread<br /> ThreadLocal<br /> ThreadLocalMap(ThreadLocal的内部类)