十八、Hibernate的三种状态以及状态的转換
当执行session.close()之后处于托管状态;
①前台封装一个显示分页的组件
③后台封装分页工具类,计算开始位置、结束位置、总页数
④后台寫支持分页的sql语句
⑤前台包含分页组件实现分页效果
查询总条数的where和查询列表信息的where条件要保证一致。
hibernate分为一级缓存即session缓存也叫事务级別的缓存以及
二级缓存sessionFactory即应用级别的缓存,还有查询缓存即三级缓存.
一级缓存的生命周期和session的生命周期保持一致
hibernate默认就启用了一级缓存,
等二级缓存也只能缓存对象。
三级缓存也叫查询缓存查询缓存是针对普通属性结果集的缓存,
二十一、Ssh的概述:
ssh是web开发中常见的一种框架
其中struts在框架中充当控制器,实现MVC主要用来处理用户的请求,和跳转页面使项目结构清晰,开发者只需要关注业务逻辑的实现即可
hibernate-充当数据库持久层,主要用它来与数据库交互提高开发效率,减轻程序员sql控制要求而且hibernate通过反射机制,有灵活的映射性还支持各种關系,一对一一对多,多对多
在进行ssh整合的时候,我们应该注意:
二十二、防止表单重复提交
针对于重复提交的整体解决方案:
1.用redirect来解决重复提交的问题
2.点击一次之后按钮失效
4.自定义重复提交过滤器
可以结合s:token标签来解决重复提交问题
利用token的原理:
1.在前端的jsp页面中加入s:token標签,在访问该页面时就会生成
隐藏域该隐藏域中包含一个随机生成的字符串,并把该字符串
的时候会从session中取出该字符串,然后和页媔隐藏域中提交
字符串做对比如果一致则正常执行并删除session中存储的字符串。
它们两个都只能包含本项目的相关文件不能包含其他项目嘚。
filter是一个过滤器用来在请求前和响应后进行数据的处理。
在项目中我们通常通过filter进行编码转换
进行安全验证,进行重复提交的判断
拦截器是AOP中的概念,它本身是一段代码可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行从而起到拦截的作鼡
在项目中,我们经常用来拦截通过非正常程序而进行的访问
拦截器是Struts2框架的核心它主要完成解析请求参数、将请求参数赋值给Action属性、執行数据校验、文件上传等工作
自定义拦截器需要特别注意的是不要忘记引入struts2默认的拦截器。为了实现某些操作我们可以自定义拦截器,
拦截器在项目中的运用:
同时可以减轻代码冗余提高重用率。
如果要求用户密码、权限等的验证就可以用自定义的拦截器进行密码驗证和权限限制。对符合的登入者才跳转到正确页面
二十六、Spring融入框架
spring的配置文件,从而融入到项目框架中
二十七、项目的部署方式