SSH小项目整合的简单记录
第一步、导入sprint4、struts2和hibernate4的jar包
struts2的jar包
commons-fileupload-1.3.3.jar
commons-io-2.5.jar
commons-lang3-3.6.jar
freemarker-2.3.26-incubating.jar
javassist-3.20.0-GA.jar
log4j-api-2.10.0.jar
ognl-3.1.15.jar
struts2-core-2.5.17.jar
struts2-spring-plugin-2.5.17.jar(和spring4整合使用)
hibernate5的jar包
antlr-2.7.7.jar
dom4j-1.6.1.jar
geronimo-jta_1.1_spec-1.1.1.jar
hibernate-commons-annotations-5.0.1.Final.jar
hibernate-core-5.0.7.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
jandex-2.0.0.Final.jar
javassist-3.18.1-GA.jar
jboss-logging-3.3.0.Final.jar
spring4的jar包
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
spring-jdbc-4.0.0.RELEASE.jar
spring-tx-4.0.0.RELEASE.jar
spring-web-4.0.0.RELEASE.jar
第二步、配置web.xml配置文件
<!-- 配置struts2的过滤器-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 设置spring的配置文件的位置-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 设置spring4的监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
第三步、配置spring的struts2的配置文件
spring配置文件applicationContext.xml
<!-- 定义数据源,这里使用的jdbc。也可以使用c3p0等连接池 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql:///blog"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
</bean>
<!-- 配置hibernate5 的 sessionFactory,交由spring来管理。不用在程序里自己new -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<!-- 配置hibernate相关属性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 配置关联关系映射文件 的方式之一 -->
<property name="mappingResources">
<list>
<value>com/tzblog/bean/Album.hbm.xml</value>
<value>com/tzblog/bean/Article.hbm.xml</value>
<value>com/tzblog/bean/Critique.hbm.xml</value>
<value>com/tzblog/bean/Me.hbm.xml</value>
<value>com/tzblog/bean/Photo.hbm.xml</value>
</list>
</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- struts2 的 Action 交由 spring来管理,在struts.xml中的action的class里填写bean id -->
<bean id="IndexAction" class="com.tzblog.action.IndexAction">
<property name="articleDAO" ref="articleDAO" />
<property name="critiqueDAO" ref="critiqueDAO"/>
</bean>
<bean id="AlbumAction" class="com.tzblog.action.AlbumAction">
<property name="albumService" ref="albumService" />
</bean>
<bean id="ArticleAction" class="com.tzblog.action.ArticleAction">
</bean>
<bean id="MeAction" class="com.tzblog.action.MeAction">
<property name="meService" ref="meService" />
</bean>
<bean id="CritiqueAction" class="com.tzblog.action.CritiqueAction">
<property name="critiqueService" ref="critiqueService" />
</bean>
<!-- Service -->
<bean id="albumService" class="com.tzblog.service.AlbumService"></bean>
<bean id="meService" class="com.tzblog.service.MeService">
<!-- meService要用的对象,下面的一样 -->
<property name="meDAO" ref="meDAO"/>
</bean>
<bean id="critiqueService" class="com.tzblog.service.CritiqueService"></bean>
<!-- DAO -->
<bean id="albumDAO" class="com.tzblog.dao.AlbumDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="articleDAO" class="com.tzblog.dao.ArticleDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="critiqueDAO" class="com.tzblog.dao.CritiqueDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="meDAO" class="com.tzblog.dao.MeDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="photoDAO" class="com.tzblog.dao.PhotoDAO"/>
struts2的配置文件struts.xml
<!-- 开启开发模式,在不使用spring的时候可以自动热部署-->
<constant name="struts.devMode" value="true">
<!-- strict-method-invocation="false" 的作用是允许使用通配符 -->
<package name="article" namespace="/" extends="struts-default" strict-method-invocation="false">
<action name="article_*" class="ArticleAction" method="{1}">
<result name="success">/WEB-INF/jsp/article.jsp</result>
<result name="detail">/WEB-INF/jsp/article_detail.jsp</result>
</action>
<action name="index" class="IndexAction">
<result name="success">/WEB-INF/jsp/index.jsp</result>
</action>
<action name="about" class="MeAction">
<result>/WEB-INF/jsp/aboutMe.jsp</result>
</action>
<action name="album_*" class="AlbumAction" method="{1}">
<result>/WEB-INF/jsp/album.jsp</result>
<result name="input">/WEB-INF/jsp/album_detail.jsp</result>
</action>
<action name="critique_*" class="CritiqueAction" method="{1}">
<result>/WEB-INF/jsp/critique.jsp</result>
<result name="input" type="redirectAction">critique</result>
</action>
</package>
hibernate的配置文件
因为已经交由spring来管理hibernate,所有不再需要hibernate.cfg.xml文件。但是还是需要hibernate关系映射文件。
SSH小项目整合的简单记录的更多相关文章
- python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)
''' 自己独立写一个学员管理系统 表结构: 班级表: -id -grade_name 学生表: -id -student_name -grade 关联外键班级表 老师表: -id -teacher_ ...
- IOS-小项目(饿了么 网络部分 简单实现)
在介绍小项目之前,在此说明一下此代码并非本人所写,我只是随笔的整理者. 在介绍之前先展现一下效果图. 看过效果图大家应该很熟悉了,就是饿了么的一个界面而已,值得注意的是,实现时并没有采用本地连接,而是 ...
- 封闭的一个多月,老菜鸟的 机械手和AGV 自动搬运小项目总结
最近上海疫情严重,闲赋在家无事可做,手机里不断的推送一些无脑的谩骂声音,索性找点事情做,将3月份实施的一个自动搬运小项目做一个简单的汇总,便于今后项目实施中积累一些经验.项目需求非常简单,因为能力有限 ...
- Java小项目之:教你做个聊天系统!
Java小项目之:聊天系统 今天给大家带来的java练手小项目是一个简单的聊天室,界面简单,操作不难. 分为注册系统,登录系统和聊天系统三部分,很适合java小白练手. 完整的源码和素材请关注并私信我 ...
- 【Arduino学习笔记05】Arduino数字输入、输出和脉冲宽带调制 -- 小项目:彩色小台灯
基本功能: 长按控制按钮开机,长按控制按钮关机(>3s) 通过三个调节按钮调节灯的颜色,每一个按钮分别对应R,G,B值 模式切换:短按控制按钮切换模式(长亮模式/闪烁模式) 元器件清单: Ard ...
- SSH项目整合教学Eclipse搭建SSH(Struts2+Spring3+Hibernate3)
这篇博文的目的 尝试搭建一个完整的SSH框架项目. 给以后的自己,也给别人一个参考. 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创建Struts项目,整合Hiberna ...
- web实践小项目<一>:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)
暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进 ...
- FreeMarker与SSH项目整合流程
FreeMarker与SSH项目整合流程 学习了SSH之后,一般为了减少数据库的压力,会使用FreeMarker来生成静态HTML页面.下面简单说一下FreeMarker与SSH项目的整合全过程~ 前 ...
- J2EE进阶(六)SSH框架工作流程项目整合实例讲解
J2EE进阶(六)SSH框架工作流程项目整合实例讲解 请求流程 经过实际项目的进行,结合三大框架各自的运行机理可分析得出SSH整合框架的大致工作流程. 首先查看一下客户端的请求信息: 对于一个Web项 ...
随机推荐
- 5_bootstrap之响应式布局|列表|按钮
5.响应式工具 为针对性地在移动页面上展示和隐藏不同的内容,bootStrap提供响应式工具. 可以让开发人员通过该工具决定,在何种屏幕尺寸下,隐藏或者显示某些元素 帮助手册位置:全局CSS样式--- ...
- Linux Tomcat8 访问管理页面 403 Access Denied
http://blog.csdn.net/u012167045/article/details/61624226 1:修改conf/tomcat-users.xml配置文件 2:vi /usr/loc ...
- Linux 文件管理命令语法、参数、实例全汇总(一)
命令:cat cat 命令用于连接文件并打印到标准输出设备上. 使用权限 所有使用者 语法格式 cat [-AbeEnstTuv] [--help] [--version] fileName 参数 ...
- go_结构体和方法
面向对象:go语言仅支持封装不支持继承和多态 所以go语言没有class,只有struct(结构体) 无论地址还是结构本身,一律用 . 来访问成员 go语言编译器可以自动区分是值传递还是指针传递,值传 ...
- 95. Unique Binary Search Trees II (Tree; DFS)
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...
- tar、tgz、gz文件批量解压方法
我是用for i in $(ls *.tgz);do tar xvf $i;done 批量解压的tgz文件的我是用for i in $(ls *.gz);do gzip -d $i;done批量解压的 ...
- matplotlib安装错误依赖问题解决
When install "matplotlib" with "pip", if you get the following error, it means t ...
- Java程序设计16——Annotatio注释
Annotation是代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取,并执行相应的处理.通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息.代 ...
- Android Studio真机测试失败-----''No target device found"
手机成功连接电脑,并且手机已经设置了开发者模式,但是启动真机还是失败,最后发现居然自己没有配置android sdk的环境变量,配置之后 如果还是不能启动,点击android studio上的tool ...
- 如何在Github上删除项目及某个文件
在Github上删除项目 在GitHub仓库中找到已经建立好的某个仓库,本篇文章以我的myBookCodes仓库为例,在建立的myBookCodes仓库中首先找到settings选项,如图所示: 将页 ...