1.servlet的生命周期:
1.0实例化:创建servlet对象
第一种情况:请求到达容器的时候,看servlet是否在容器中,如果没有就新创建一个实例。
第二种情况:在容器启动的时候,回去web.xml看是否有servlet的 load-on-staru 配置,如果有就创建一个实例。
1.1初始化
调用init();方法运行
1.2运行
根据请求方式调用Httpservlet的service的doget()跟dopost()方法;
1.3销毁
调用destory()方法销毁
destory()方法释放资源,
整个生命周期init()跟destory()只会用一次
2.Mybatis跟ibatis的区别:
最大的区别就是ibits需要在Dao的实现类里面指定要具体调用的哪个xml文件
Mybatis就是实现接口与xml映射文件的绑定,自动为我们实现接口的具体实现。
3.hibernate的生命周期
瞬时态:对象从来未与session有过关联
持久态:对象与session已经有关联,并且对象对应到数据库记录
脱管态:曾经与session有过关联,但是session关闭了或者调用了clear()方法。
4.springmvc执行流程
(图是盗的)
1.用户向服务器发送请求,被前端控制DispatcherServlet捕获
2.DispatcherServlet对url进行解析,然后根据url调用HandlerMapping,HandlerMapping返回拦截器跟对象。
3.DispatcherServlet根据返回的对象找到对应的HandlerAdapter。
4.提取request入参,执行controller。
5.执行完controller返回给DispatcherServlet一个ModelAndView对象。
6.DispatcherServlet调用视图解析器ViewResolver解析后返回给DispatcherServlet
7.DispatcherServlet对View进行渲染,返回给用户。