SSH框架构建

    技术2022-05-20  90

    SSH框架的构建步骤:

    SSH框架的构建在使用MyEclipse进行导入时必须按照Spring-->Hibernate-->Struts的顺序。

     

    在导入Spring之前最好通过MyEclipse插件建立好DBdriver。

    默认的Spring会使用dbcp来管理数据源。

     

    在导入Hibernate时,要注意选择用Spring来管理hibernate配置,而不要使用单独的hibernate.cfg.xml。这样在导入时可以选择建立好的DBdriver,会自动在applicationContext.xml中配置好dataSource和sessionFactory。

     

    Spring中需要使用Hibernate的话,可以直接继承HibernateDaoSupport,继承完之后就能通过this.getSession()直接获取到session对象。

     

    关键点配置:

    applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"> </property> <property name="username" value="scott"></property> <property name="password" value="tiger"></property> </bean> <!-- 相当于hibernate中的hibernate.cfg.xml中的配置内容 --> <bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" destroy-method="close"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect </prop> </props> </property> <!-- 数据库表与VO类的关联配置文件 --> <property name="mappingResources"> <list> <value>vo/Person.hbm.xml</value> </list> </property> </bean> <!-- 向该类注入了sessionFacory --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="SessionFactory" /> </property> </bean> <!-- 向实现类注入hibernateTemplate --> <bean id="persondao" class="dao.PersonDao" abstract="true"></bean> <bean id="persondaoimpl" class="dao.impl.PersonDaoImpl" parent="persondao"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate" /> </property> </bean> <!-- 与struts中的action注入业务实现类 --> <bean name="/person" class="com.yourcompany.struts.action.PersonAction"> <property name="personDao"> <ref bean="persondaoimpl" /> </property> </bean> </beans>

     

     

     

     

    struts-config.xml

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <form-beans> <form-bean name="personForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="password" type="java.lang.String" /> <form-property name="name" type="java.lang.String" /> </form-bean> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings> <action attribute="personForm" input="/form/person.jsp" name="personForm" parameter="status" path="/person" scope="request" type="com.yourcompany.struts.action.PersonAction" validate="true"> <forward name="suc" path="/login.jsp"></forward> </action> </action-mappings> <!-- 要实现与Spring的关联,需要配置该控制器 --> <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"> </controller> <message-resources parameter="com.yourcompany.struts.ApplicationResources" /> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /> </plug-in> <!-- 要实现与Spring的关联,需要配置该插件 --> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" /> </plug-in> </struts-config>

     

    web.xml

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- 指定WEB容器加载Spring主配置位置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB_INF/classes/applicationContext.xml </param-value> </context-param> <!-- 指定WEB容器加载Spring --> <servlet> <servlet-name>context</servlet-name> <servlet-class> org.springframework.web.context.ContextLoaderServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- 指定WEB容器加载Struts --> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

     

     

    Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2所需jar包一览

    jar包名称

    所在位置

    说明

    antlr-2.7.6.jar

    hibernate/lib/required

    解析HQL

    aspectjrt

    spring/lib/aspectj

    AOP

    aspectjweaver

    ..

    AOP

    cglib-nodep-2.1_3.jar

    spring/lib/cglib

    代理,二进制增强

    common-annotations.jar

    spring/lib/j2ee

    @Resource

    commons-collections-3.1.jar

    hibernate/lib/required

    集合框架

    commons-fileupload-1.2.1.jar

    struts/lib

    struts

    commons-io-1.3.2

    struts/lib

    struts

    commons-logging-1.1.1

    单独下载,删除1.0.4(struts/lib)

    struts

    spring

    dom4j-1.6.1.jar

    hibernate/required

    解析xml

    ejb3-persistence

    hibernate-annotation/lib

    @Entity

    freemarker-2.3.13

    struts/lib

    struts

    hibernate3.jar

    hibernate

     

    hibernate-annotations

    hibernate-annotation/

     

    hibernate-common-annotations

    hibernate-annotation/lib

     

    javassist-3.9.0.GA.jar

    hiberante/lib/required

    hibernate

    jta-1.1.jar

    ..

    hibernate transaction

    junit4.5

     

     

    mysql-

     

     

    ognl-2.6.11.jar

    struts/lib

     

    slf4j-api-1.5.8.jar

    hibernate/lib/required

    hibernate-log

    slf4j-nop-1.5.8.jar

    hibernate/lib/required

     

    spring.jar

    spring/dist

     

    struts2-core-2.1.6.jar

    struts/lib

     

    xwork-2.1.2.jar

    struts/lib

    struts2

    commons-dbcp

    spring/lib/jarkata-commons

     

    commons-pool.jar

    ..

     

    struts2-spring-plugin-2.1.6.jar

    struts/lib

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     


    最新回复(0)