一
.
SSH的概述
1 ) . 基本认识 :
1. ssh是web开发中常见的一种框架,s-struts,s-spring,h-hibernate
2. 主要框架任务分工 :
Struts : 在框架中充当控制器,实现MVC,主要用来处理用户的请求,和跳转页面,使项目结构清晰,开发者只需要关注业务逻辑的实现即可
Spring : 在框架中充当粘合剂,粘合struts-spring-hibernate,主要来进行事物的控制
Hibernate :在框架中充当数据库持久层,只要用来与数据库交互,提高开发效率,减轻程序员对sql控制要求,
而且hibernate通过反射机制,有灵活的映射性,还支持各种关系,一对一,一对多,多对多 !
2 ) . 在整合时需注意 :
1. Action继承于ActionSupport2. 引入struts-spring-plugin.jar包,从而完成struts和spring的整合
3. 在struts2的action中注入service.保证service的名字和配置文件中一致,并生成get,set方法
4. Dao层继承于hibernateSupport
5.在Dao层的配置文件中注入sessionFactory
二.
防止表单重复提交
1 ) . 针对重复提交的整体解决方案 :
1. 用redirect来解决重复提交的问题2. 点击一次之后,按钮失效
3. 通过loading4. 自定义重复提交过滤器
5. 解决struts2重复提交 可以结合 s : token标签来解决重复提交问题
2 ) . 利用token的原理 :
1. 在前端的jsp页面中加入s:token标签,在访问该页面是就会生成隐藏域,该隐藏域中包含一个随机生成的字符串,并把该字符串存放在session中2. 在struts2的配置文件中加入token拦截器后,当正常访问action的时候,会从session中取出该字符串,然后和页面隐藏域中提交字符串做对比,若一致则正常执行并删除session中存储的字符串