zoukankan      html  css  js  c++  java
  • 面试2

    1.说一下Servlet的生命周期

    A:定位:用户根据地址请求指定的servlet,web.xml根据用户输入的地址,定位到具体的servlet。
    B:加载:将找到的servlet类加载到web容器中(servlet容器)。
    C:实例化:调用默认无参构造函数,实现servlet的实例化。
    D:初始化:调用Init方法,实现成员变量的初始化。
    E:服务处理:servlet的service方法接收用户请求,根据当前用户请求的方式是get还是post,service自动将用户请求传递到doGet和doPost方法中进行处理。处理完成后,产生响应结果。
    F:销毁:调用destroy方法,实现servlet的释放工作。
    服务器关闭时进行释放。或者是servlet产生改变重新加载前进行释放原来的servlet。

    注意:在servlet容器中,一个servlet只会产生一个一个实例对象进行工作。

    2.为什么使用Hibernate,Hibernate执行流程。

    1. 封装了jdbc,简化了很多重复性代码。

    2. 简化了DAO层编码工作,使开发更对象化了。

    3. 移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。

    4. 支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。所以说它是一个轻

    量级框架。

    Hibernate执行流程:

    1. 通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。

    2. 由hibernate.cfg.xml中的读取解析映射信息。

    3. 通过config.buildSessionFactory();//得到sessionFactory。

    4. sessionFactory.openSession();//得到session。

    5. session.beginTransaction();//开启事务。

    6. persistent operate;

    7. session.getTransaction().commit();//提交事务

    8. 关闭session;

    9. 关闭sessionFactory;

  • 相关阅读:
    神通广大的CSS3选择器
    CF1153E Serval and Snake【构造】
    CF1153F Serval and Bonus Problem 【期望】
    李超线段树学习笔记
    Luogu5327【ZJOI2019】语言【树上差分,线段树合并】
    Luogu4191 [CTSC2010]性能优化【多项式,循环卷积】
    Codeforces Round #564 比赛总结
    CF917D Stranger Trees【矩阵树定理,高斯消元】
    【CTS2019】珍珠【生成函数,二项式反演】
    斯特林数学习笔记
  • 原文地址:https://www.cnblogs.com/xiaowei-blog/p/4086065.html
Copyright © 2011-2022 走看看