700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > SSH(Struts2+Hibernate+Spring)开发策略

SSH(Struts2+Hibernate+Spring)开发策略

时间:2024-04-13 02:06:35

相关推荐

SSH(Struts2+Hibernate+Spring)开发策略

很多小伙伴可能一听到框架两个字就会马上摇头,脑子里立刻闪现一个词---“拒绝”,其实我也不例外,但我想告诉大家的是,当你真正掌握它时,你会发现**SSH**用起来是那么顺手,因为它对于开发web应用真的很方便,下面就我个人经验和大伙儿谈谈如何利用**SSH框架技术**来进行*web应用开发*吧。

首先是应该了解SSH框架技术的运行流程

在此我给大家介绍一种常见的SSH开发模式,这对于初学者来说应该也是比较好理解的。在进行使用SSH框架时最好先去了解一下Struts2+hibernate的工作原理,下面提供两个链接,大家可以了解一下“SH”的工作原理:

[Struts2工作原理]

/langti...

[hibernate工作原理]

/ques...

另外一个就是SSH框架开发所需的jar包,这对于开发非常重要,没有一个完整正确的jar包是绝对不能顺利应用SSH框架,以下是我整理的完整jar包:

链接:/s/1bFujh0 密码:pisr

以外是利用SSH框架技术进行开发的一个过程:

在web.xml进行一些相关配置

【1】首先进行Struts2核心过滤器的配置,作用是拦截一些action,核心代码如下:

<!-- struts2核心过滤器的配置 --><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>【2】对于spring的核心监听器的配置<!-- spring的核心监听器的配置 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<context-param>

<param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value>

</context-param>

创建开发过程中所需要的包,在我的实例项目我创建了四个包,分别是:

【1】cn.imooc.action 管理action的类包

【2】cn.imooc.servie 管理service的类包

【3】cn.imooc.dao 管理dao的类包

【4】cn.imooc.domain 管理实体类的包引入四个常用的配置文件,即applicationContext.xml struts.xml log4j.properties jdbc.properties在各个包中创建所需要的类在各个类完成ssh框架流程

在以上四个配置文件中完成相应的配置,在此我只说明各个配置文件完成什么功能:

jdbc.properties:它是设置我们连接数据库的一个配置文件,里面包含了数据库的驱动、数据连接的地址,数据库的用户名,数据库的密码

Struts2.xml:该文件中是说明拦截什么action

log4j.properties:这个文件是我们的日志记录文件

applicationContext.xml:这个是spring的核心配置文件,也是我们整个ssh框架开发的核心,它的作用就如胶水将Struts2和hibernate结合起来了。

在这里就重点说明第四个文件的配置:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="/schema/beans"

xmlns:xsi="/2001/XMLSchema-instance"

xmlns:aop="/schema/aop"

xmlns:context="/schema/context"

xmlns:p="/schema/p"

xmlns:tx="/schema/tx"

xsi:schemaLocation="/schema/beans http://www.springframework.or...

/schema/aop /schema/aop/spring-aop-3.1.xsd/schema/tx/schema/tx/spring-tx-3.0.xsd/schema/context /schema/context/spring-context-3.1.xsd">

<!-- 引入外部的属性文件 -->

<context:property-placeholder location="classpath:jdbc.properties"/>

<!-- 配置c3p0连接池 -->

<bean id="dataSource" class="com.mchange.boPooledDataSource"><property name="driverClass" value="${jdbc.driverClass}"></property><property name="jdbcUrl" value="${jdbc.url}"></property><property name="user" value="${jdbc.username}"></property><property name="password" value="${jdbc.password}"></property></bean>作用:是为了连接我们所需要连接的数据库<!-- 配置hibernate的一些相关属性 --><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!-- 注入连接池 --><property name="dataSource" ref="dataSource"/><!-- 配置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>该部分是为了完成hibernate框架中对象映射文件的功能<!-- 加载hibernate中的映射文件 --><property name="mappingResources"><list><value>cn/imooc/domain/Product.hbm.xml</value></list></property></bean>

<!-- 配置Action的类 -->

<bean id="productAction" class="cn.imooc.action.ProductAction" scope="prototype">

<!-- 手动注入service --><property name="productService" ref="productService"></property>

</bean>

<!-- 配置业务层的类 -->

<bean id="productService" class="cn.imooc.service.ProductService">

<property name="productDao" ref="productDao"></property>

</bean>

<!-- 配置DAO的类 -->

<bean id="productDao" class="cn.imooc.dao.ProductDao">

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

<!-- 配置事务管理器 -->

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory"/>

</bean>

<!-- 开启注解事务 -->

<tx:annotation-driven transaction-manager="transactionManager"/>

</beans>

以上就是ssh框架的大致开发过程,大家有问题可以放出来讨论一下,下面我将我的整个项目发给大家看看:

链接:/s/1jHM5wWY 密码:ykm9

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。