SSH的框架整合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH的框架整合相关的知识,希望对你有一定的参考价值。
struts 控制用的
hibernate 操作数据库的
spring 用解耦的
第一步:先创建一个wed项目 。
第二步:配置struts2
1.添加Struts2所需要的基本jar包到 lib目录下 包名如下图:
2.在web.xml 文件里添加struts的过滤器配置如下:《提示:struts2-2.3版本》
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>ssh</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <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> </web-app>
3.在web.xml 文件里添加struts的过滤器配置如下:《提示:struts2-2.5版本》
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>ssh</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <filter> <filter-name>struts-prepare</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareFilter</filter-class> </filter> <filter> <filter-name>struts-execute</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts-prepare</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts-execute</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
4.在src目录下创建struts配置文件,struts.xml,内容如下:《提示:注意配置头信息需要对应的版本》
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="struts2" extends="struts-default"> </package> </struts>
使用Struts2的好处:
1.实现了页面和代码的分离实现了mvc设计理念。
2.获取表单内容,并组织生成参数对象
3.根据请求的参数转发请求适当的控制器
4.在控制器中调用业务接口
5.将业务接口返回的结果包装起来发送给指定的视图,并由视图完成处理结果的展现
6.做一些简单的校验或国际化工作
第三步:配置spring
1.在lib目录下导入spring相关的jar包如下:《提示:spring跟struts结合还需要2个struts的jar包分别是:
struts2-spring-plugin-2.3.30.jar和commons-logging-1.1.3.jar》
2.在wed.xml文件下配置监听器,配置如下:
<!-- spring的监听器配置开始 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
使用Spring的好处:
(1)Spring能有效地组织你的中间层对象。
(2)Spring能消除在许多工程中常见的对Singleton的过多使用。
(3)Spring能消除各种各样自定义格式的属性文件的需要,使配置信息一元化。
(4)Spring能够帮助我们真正意义上实现针对接口编程。
(5)在Spring应用中的大多数业务对象没有依赖于Spring。
(6)使用Spring构建的应用程序易于单元测试。
(7)Spring支持JDBC和O/R Mapping产品(Hibernate)
(8)MVC Web框架,提供一种清晰,无侵略性的MVC实现方式。
(9)JNDI抽象层,便于改变实现细节,可以方便地在远程服务和本地服务间切换。
(10)简化访问数据库时的例外处理。
(11)Spring能使用AOP提供声明性事务管理,可以不直接操作JTA也能够对事务进行管理。
(12)提供了JavaMail或其他邮件系统的支持。
第四步:配置hibernate
1.在lib目录里导入hibernate相关的jar包如下:
2.在entity包下创建实体类
在entity创建实体类对应的xxx..hbm.xml映射文件。
3.应用IOC实现DAO接口
在Dao接口实现类里IndexDaoImpl定义一个sessionFactory的属性提供一个set的方法,方便在spring里注入 注入方式如下:
<bean id="myDao" class="dao.IndexDaoImpl" scope="prototype"> <property name="sessionFactory" ref="mysessionFactory"></property> </bean> <!-- mysql hibernate配置 --> <!-- 注入sessionFactory --> <bean id="mysessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <!-- 注入连接池,包含了数据库用户名,密码等等信息 --> <property name="dataSource" ref="myDataSource2"></property> <!-- 配置Hibernate的其他的属性 --> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.connection.autocommit">false</prop> <!-- 开机自动生成表 --> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> <property name="mappingResources"> <list> <value>entity/xxx.hbm.xml</value> </list> </property> </bean> <bean id="myDataSource2" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/CardDB"></property> <property name="user" value="root"></property> <property name="password" value="123456"></property> </bean>
使用hibernate的好处:
1.连接数据库不用我们来管理。
2.原来是对表操作,现在是对对象操作。
以上是关于SSH的框架整合的主要内容,如果未能解决你的问题,请参考以下文章
SpringMVC+hibernate框架整合源码SSH Dubbo,ZooKeeper