SSH整合笔记
SSH:spring+struts+hibernate.
一:所需jar:

需要注意的是:
hibernate+spring需要Spring-orm-xxx.jar
struts+spring需要struts2-spring-plugin-2.3.24.jar
二:三个框架各自用处
spring:对各层的类进行初始化
struts:接收页面过来的请求,然后去后台找对应的业务类
hibernate:对数据进行操作管理
三:配置文件
在spring配置文件中需要配置
<!-- SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
</bean>
<!-- dao层 -->
<bean id="dao" class="cn.ssh.dao.UserDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- Service层 -->
<bean id="service" class="cn.ssh.service.UserService">
<property name="dao" ref="dao"></property>
</bean>
<!-- action层 -->
<bean id="useraction" class="cn.ssh.action.UserAction" scope="prototype">
<property name="service" ref="service"></property>
</bean>
其中不仅需要给dao,service,action层配置,还需要将sessionFactory配置在这里,为了保证一个项目里只有一个sessionFactory,也不用程序员用代码创建sessionFactory这样繁琐.
当然,在dao实现类里必须得植入一个sessionFactory局部变量(get/set).
在struts配置文件中需要配置
<package name="default" namespace="/" extends="struts-default">
<action name="addUser" class="useraction" >
<result name="success">/index.jsp</result>
<result name="input">/MyJsp.jsp</result>
</action>
</package>
struts配置文件中没有需要添加的节点
在hibernate配置文件中需要配置
<hibernate-configuration> <session-factory> <!-- Database connection settings -->
<property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="connection.username">wuao</property>
<property name="connection.password">123</property> <!-- JDBC connection pool (use the built-in) -->
<!-- <property name="connection.pool_size">1</property> --> <!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property> <!-- Disable the second-level cache -->
<!-- <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> --> <!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup -->
<!-- <property name="hbm2ddl.auto">update</property> -->
<property name="hibernate.connection.autocommit">true</property>
<property name="format_sql">true</property>
<mapping class="cn.ssh.entity.User"/>
</session-factory> </hibernate-configuration>
hibernate配置文件中只加了一个自动提交的事物节点:<property name="hibernate.connection.autocommit">true</property>
四:各层调用
dao层调用entity
service层调用dao
action层调用service
dao层
service层
action层五:ssh简单流程图

SSH整合笔记的更多相关文章
- SSH框架笔记01_SSH整合的两种方式
目录 1. 框架回顾 2. 创建项目,引入jar包 2.1 Struts2的jar包 2.2 Hibernate的jar包 2.3 Spring的jar包 3. 引入配置文件 3.1 Struts2配 ...
- 【Java EE 学习 67 下】【OA项目练习】【SSH整合JBPM工作流】【JBPM项目实战】
一.SSH整合JBPM JBPM基础见http://www.cnblogs.com/kuangdaoyizhimei/p/4981551.html 现在将要实现SSH和JBPM的整合. 1.添加jar ...
- struts2,hibernate,spring整合笔记(2)
上一话struts2,hibernate,spring整合笔记(1) 接下来继续 配置完struts之后就要开始hibernate的配置 hibernate的环境并不依赖web开发环境,在我第一次配置 ...
- Spring自学教程-ssh整合(六)
以下是本人原创,如若转载和使用请注明转载地址.本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址 感谢您支持我的博客,我的动力是您的支持和关注!如若转载和使用请注明转载地址 ...
- 三大框架SSH整合
三大框架SSH整合 -------------------------------Spring整合Hibernate------------------------------- 一.为什么要整合Hi ...
- SSH学习笔记
Struts2登录模块处理流程: 浏览器发送请求http://localhost/appname/login.action,到web应用服务器: 容器接收到该请求,根据web.xml的配置,服务器将请 ...
- SSH整合(struts2.3.24+hibernate3.6.10+spring4.3.2+mysql5.5+myeclipse8.5+tomcat6+jdk1.6)
终于开始了ssh的整合,虽然现在比较推崇的是,ssm(springmvc+spring+mybatis)这种框架搭配确实比ssh有吸引力,因为一方面springmvc本身就是遵循spring标准,所以 ...
- SSH整合之全注解
SSH整合之全注解 使用注解配置,需要我们额外引入以下jar包
- 用ssh整合时,用sessionfactory的getCurrentSession()获取不到session
在用ssh整合时,一开始用的是getCurrentSession(),获取当前线程上的session,但是总是抛异常,不能获取. 后来用sessionfactory的openSession(),但是, ...
随机推荐
- 《C语言程序设计现代方法》第3章 格式化输入/输出
完整的细节将留到第22章中介绍. 调用printf函数一次可以打印的值的个数没有限制. 注意:C语言编译器不会检查格式串中转换说明的数量是否和输出项的数量相互匹配,也不会检查转换说明是否适合要显示项的 ...
- OpenCL memory object 之 传输优化
转载自:http://www.cnblogs.com/mikewolf2002/archive/2011/12/18/2291741.html 首先我们了解一些优化时候的术语及其定义: 1.defer ...
- HW4.24
public class Solution { public static void main(String[] args) { double sum = 0; for(int i = 1; i &l ...
- HW4.19
public class Solution { public static void main(String[] args) { for(int i = 1; i <= 8; i++) { fo ...
- C语言求x的y次方,自定义函数,自己的算法
我是一名高二中学生,初中时接触电脑,非常酷爱电脑技术,自己百度学习了有两年多了,编程语言也零零散散的学习了一点,想在大学学习计算机专业,所以现在准备系统的学习C语言,并在博客中与大家分享我学习中的心得 ...
- Eclipse编译ijkplayer
参考链接:http://blog.csdn.net/fatiao101/article/details/49586379
- 【转】Mac OS X 中 Zsh 下 PATH 环境变量的正确设置
在 Mac OS X 中使用 zsh,环境变量 PATH 一不小心就会变得很紊乱,表现为自己设置的路径总是被放到系统路径之后,部分路径还会有重复.这是我们不太了解 zsh 启动时加载文件的顺序和 Ma ...
- 使用GruntJS链接与压缩多个JavaScript文件
使用GruntJS链接与压缩多个JavaScript文件 自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等.最终我想 ...
- linux内核数据结构--进程相关
linux里面,有一个结构体task_struct,也叫“进程描述符”的数据结构,它包含了与进程相关的所有信息,它非常复杂,每一个字段都可能与一个功能相关,所以大部分细节不在我的研究范围之内,在这篇文 ...
- Java多线程小结
简述 Java是支持多线程编程的语言,线程相比于进程更加轻量级,线程共享相同的内存空间,但是拥有独立的栈.减少了进程建立.销毁的资源消耗.jdk1.5后对java的多线程编程提供了更完善的支持,使得j ...


五:ssh简单流程图