面试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;

原文地址:https://www.cnblogs.com/xiaowei-blog/p/4086065.html