你的位置:首页 > Java教程

[Java教程]SSH框架的搭建


一、SSH框架的概念

  SSH框架是java web开发流行的一个开源集合框架,SSH框架包含了Struts框架,Spring框架和Hibernate框架。SSH框架可以用于构建灵活、易于扩展的多层Web应用程序。

二、SSH框架的工作原理

   SSH框架中的Struts负责拦截用户请求,正常情况下用户请求到达Struts框架时,Struts框架的核心拦截器拦截到该请求,Struts框架会根据请求创建action实例。而在SSH框架中,由Spring容器来管理Action实例。当用户请求到达SSH框架应用程序时,Struts框架的核心控制器拦截到用户的请求,然后将请求转发到Struts框架中提供的Spring插件的伪Action中,再由伪Action获取Spring容器中的对应的请求的Action实例,然后通过Spring容器中根据相关的业务组件来连接Hibernate框架,使用Hibernate框架来管理数据库。

                                     

 

 

                                                      

                                    SSH框架工作原理图

三、SSH框架的搭建过程

  1.创建一个web项目

    2.导入Struts2所需的基本jar文件包,必须包含struts2-spring-plugin这个jar包,负责管理伪控制器,然后在web.

<!-- 配置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>

  3.导入Spring开发所需的jar包:spring-beans.jar,spring-context.jar,spring-core.jar,spring-expression.jar,commons-logging.jar,spring-web.jar 

  在web.

 <!-- 配置Spring的监听器 --> <listener>   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><!-- 如果没有配置下面的项,默认加载web-inf下的applicationConext.--> <context-param>   <param-name>contextConfigLocation</param-name>   <param-value>classpath:applicationContext.</param-value> </context-param>

  4.导入Hibernate开发包,数据库驱动包,连接池(c3p0)包,然后在src创建jdbc.properties文件和applicationContext.

  jdbc.properties:

jdbc.driver = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql:///shopjdbc.user = rootjdbc.password =123456

  applicationContext.

<??><beans ="http://www.springframework.org/schema/beans"  ="http://www.w3.org/2001/  ="http://www.springframework.org/schema/context"  ="http://www.springframework.org/schema/aop"  ="http://www.springframework.org/schema/tx"  xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd  http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd  http://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop.xsd  http://www.springframework.org/schema/tx   http://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 配置连接池 --><context:property-placeholder location="classpath:jdbc.properties"/><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  <property name="driverClass" value="${jdbc.driver}"></property>  <property name="jdbcUrl" value="${jdbc.url}"></property>  <property name="user" value="${jdbc.user}"></property>  <property name="password" value="${jdbc.password}"></property></bean><!-- hibernate相关配置 --><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  <property name="dataSource" ref="dataSource"></property>  <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.connection.autocommit">false</prop>      <prop key="hibernate.hbm2ddl.auto">update</prop>    </props>  </property>  <!-- hibernate映射文件 --></bean></beans>

  搭建完成后的web.

<??><web-app version="2.5" ="http://java.sun.com/  ="http://www.w3.org/2001/  xsi:schemaLocation="http://java.sun.com/>  <display-name></display-name>  <!-- 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>    <!-- spring容器启动监听器配置 -->  <listener>   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param>   <param-name>contextConfigLocation</param-name>   <param-value>classpath:applicationContext.</param-value> </context-param></web-app>

View Code 

  至此,SSH框架已经搭建完成,就可以使用SSH框架进行相关开发了。