ssh整合开发
ssh整合思想
ssh整合
第一步:导入ssh相关jar包
第二步:搭建struts环境
(1)创建 action struts.xml配置文件, 配置action
struts.xml约束
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
(2) 配置struts的过滤器
<!-- struts过滤 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第三步:搭建hibernate环境
(1)创建实体类
(2)配置实体类与数据表映射关系
映射文件约束:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
(3)创建hibernate核心配置文件
核心配置文件约束:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
(4)引入映射配置文件
第四步: 搭建spring核心配置文件
(1)创建spring核心配置文件
(2)由于第一次访问比较慢,让spring配置文件在服务器启动时加载(监听器)
配置监听器并指定spring核心配置文件位置
<!-- 配置监听器让spring配置文件在服务器启动时候加载 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 指定spring配置文件位置 -->
<context-param>
<param-name>contextLoaderListener</param-name>
<param-value>classpath:bean1.xml</param-value>
</context-param>
第五步: struts2与spring整合
(1)把action在spring中配置(action多实例)
<bean id="UserAction" class="com.bookstore.action.UserAction" scope="prototype"></bean>
prototype表示多实例,默认单实例
(2)在struts.xml中action标签class属性里面写bean的id值(如果直接写全路径,action就会被创建两次)
<action name="UserAction" class="UserAction">
第六步:spring与hibernate整合(注意导包)
(1)把hibernate核心配置文件中数据库配置在spring配置
<!-- 配置c3p0连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql:///bookstore"></property>
<property name="user" value="root"></property>
<property name="password" value="123456"></property>
</bean>
(2)把sessionFactory创建交给spring
<!-- 把sessionFactory创建交给spring -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 由于在hibernate核心文件中没有配置数据库,数据库在spring中配置,注入dataSource -->
<property name="dataSource" ref="dataSource"></property>
<!-- 指定hibernate核心文件 -->
<property name="comfigLocations" value="classpath:hibernate.cfg.xml"></property>
</bean>
第七步:配置事务(注解方式@Transactional)
<!-- 事务配置 -->
<!-- 配置事物管理器 -->
<bean name="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- 注入sessionFactory -->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 开启注解 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
配置hibernateTemplate
<!-- 配置hibernateTemplate -->
<bean id="hibernateTemplate" classs="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
ssh整合开发的更多相关文章
- 【转载】Ssh整合开发介绍和简单的登入案例实现
Ssh整合开发介绍和简单的登入案例实现 Ssh整合开发介绍和简单的登入案例实现 一 介绍: Ssh是strtus2-2.3.1.2+ spring-2.5.6+hibernate-3.6.8整合的开 ...
- 从MVC和三层架构说到SSH整合开发
相信很多人都认同JavaWeb开发是遵从MVC开发模式的,遵从三层架构进行开发的,是的,大家都这么认同.但是相信大家都会有过这样一个疑问,if(MVC三层模式==三层架构思想)out.println( ...
- SSH整合开发时Scope为默认时现象与原理
1.前提知识 1)scope默认值 进行SSH整合开发时,Struts2的action须要用spring容器进行管理,仅仅要涉及到类以bean的形式入到spring容器中.无论是xml配置还是使用注解 ...
- 从MVC和三层架构说到ssh整合开发-下
这章主要讲整合开发,直接从实战讲起,对与ssh的单方面了解,请继续等待我的兴许文章. 解说不到位的地方欢迎大家指正:联系方式rlovep.com 具体请看源码凝视: 全部代码下载(csdn):链接 G ...
- SSH整合开发的web.xml配置
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" ...
- Java Web整合开发实战:基于Struts 2+Hibernate+Spring 目录
第1篇 Java Web开发基础第1章 Web的工作机制( 教学视频:31分钟) 1.1 理解Web的概念 1.1.1 Web的定义 1.1.2 Web的三个核心标准 1.2 C/S与B/S两种软件体 ...
- 《轻量级Java Web整合开发入门SSH》 - 快速理解Java框架的又一积木
学习JAVA不难,难的是没有多余的时间给你仔细学习. 伴随着项目的不断跟进,责任重于泰山,必须快速提升. 我不能期望把一本书或者一个项目完全吃透,只希望能用数量去 ...
- java web开发入门五(ssh整合)基于intellig idea
SSH整合 1.引入jar包 Struts 核心jar Hibernate 核心jar Spring Core 核心功能 Web 对web模块支持 Aop aop支持 Orm 对hiber ...
- 手动整合实现SSH项目开发01
内容简介:本文主要介绍SSH项目开发的配置以及简单登录功能的实现. 1. 新建一个Dynamic Web Project. 2.导入需要 的Jar包,此项目是Struts.Hibernate.Spri ...
随机推荐
- Express4.x API (二):Request (译)
写在前面 最近学习express想要系统的过一遍API,www.expressjs.com是express英文官网(进入www.epxressjs.com.cn发现也是只有前几句话是中文呀~~),所以 ...
- Microsoft Visual Studio | VS打开解决方案时加载失败,或者出现错误提示
Microsoft Visual Studio | VS打开解决方案时加载失败,或者出现错误提示 1.加载失败并且输出状态栏也没什么错误提示的话,往往是因为一个低版本VS2010.VS2012等打开了 ...
- Python Django CMDB项目实战之-1如何开启一个Django-并设置base页、index页、文章页面
1.环境 win10 python 2.7.14 django 1.8.2 需要用到的依赖包:MySQLdb(数据库的接口包).PIL/pillow(处理图片的包) 安装命令: pip install ...
- 编译器 STVD 与 IAR 的差别 个人体验
编译器 STVD 与 IAR 的一些差别,这些事个人的体验,欢迎扔砖和指点或者补充. 1:全局查找功能: STVD:全局查找功能全局查找功能比較麻烦.有3个动作. IAR:有全局查找功能比較方便.仅仅 ...
- recover all files with git
leon@DGLIRUAN2 /F/linux/android/leon/workspace/AngoWidget (master) $ git log commit 2f847e3a858ecb2f ...
- JavaScript导航树
JS导航树 整理之前的小代码片段,放到博客,便于以后完善查看: 该JS导航树实际效果,[GSP+社区网站专题课程页面导航树]地址:http://gsp.inspur.com/knowledge/zhu ...
- C#相关知识总结
字符串相关知识 判断某字符串中包含某个字符,并过滤 if (string.Contains("*")) string = string.Replace('*',' '); // ...
- Highway LSTM 学习笔记
Highway LSTM 学习笔记 zoerywzhou@gmail.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2016-4-5 声明 1)该Dee ...
- BZOJ4970 IOI2004 empodia障碍段
4970: [ioi2004]empodia 障碍段 Time Limit: 10 Sec Memory Limit: 128 MB Description 古数学及哲学家毕氏相信自然之本质为数学. ...
- c#的关键字
abstract as base bool break byte case catch char checked decimal default delegate continue double do ...