黑马程序员技术交流社区
标题:
【石家庄校区】struts2&hibernate阶段常见的面试问题
[打印本页]
作者:
第二十五颗星星
时间:
2017-12-9 15:57
标题:
【石家庄校区】struts2&hibernate阶段常见的面试问题
本帖最后由 小石姐姐 于 2017-12-11 15:12 编辑
*
Struts2的执行流程
* 浏览器--发送请求--filter--ActionMapper--加载配置文件ActionProxy--执行Action--Result--Template--拦截器--response.
*
hibernate的执行流程
* 通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。
* 由hibernate.cfg.xml中的<mappingresource="xx/xx/xxx.hbm.xml"/>读取解析映射信息
* 通过config.buildSessionFactory()得到sessionFactory.
* sessionFactory.openSession得到sessionFactory
* 开启事务
* 执行操作
* 提交事务
* 关闭session
* 关闭sessionFactory
*
Struts2的MVC指的是什么
* M:Action
* V:jsp,html
* C:Filter
*
hibernate的缓存有哪些.介绍一下
* 一级缓存 是session范围的
* 二级缓存 是sessionFactory范围的
* 多用在执行查询操作的时候
*
Struts2的值栈
* ValueStack 先进后出
* 使用 push set 保存数据
* Root的结构为:List
* Context Map
*
hibernate的主键生成策略?
* uuid
* sequence
* increment
* identity
* native
*
hibernate的fetch和lazy的区别
* fetch是设置sql语句的格式
* lazy是sql语句什么时候执行
* fetch的join值会导致lazy失效
* lazy的proxy是使用另一张表的类上的注解@proxy(lazy=true)
* select是多条简单查询 subselect子查询,join是迫切左外连接
* extra是及其懒惰的
*
什么是持久类
* pojo(最基本类)+hbm.xml
* 有无参有参构造
* 不能使用final修饰
* OID
* 属性get/set
* 使用包装类型(intger)
*
get和load的区别
* load是延迟加载 get是立即加载
*
持久化对象的三种状态
* 瞬时态
* 持久态
* 脱管态
*
inverse的作用
* 优化,减少资源浪费
* 双向关联的时候,指定外键由谁来维护
*
cascade的作用
*
级联保存,修改,删除一张表关联保存另一张表
*
关于传统的N+1问题怎么解决
* 使用int函数来解决
*
创建action的三种方式
* pojo
* 实现Action
* 继承actionSuppot
*
封装数据的方式
* 属性驱动
* 模型驱动
*
访问方式
* 直接写路径
* 通配符
* 动态 类名! 方法名
*
文件上传三要素
* 表单提交方式method=post
* 表单中必须有一个<input type=”file”>组件
* 表单中必须设置enctype=”multipart/form-data
*
json数据交互
* jaction
* fastjson
* struts2提供的json插件
作者:
小石姐姐
时间:
2017-12-11 15:23
加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2