zoukankan      html  css  js  c++  java
  • MAVEN_day03 整合SSH框架

    一、整合SSH工程环境准备

      1.创建MAVEN工程>>添加>>"web.xml"文件解决工程红色叹号。

        new Maven Project>>在src>main>webapp>创建WEB-INF文件夹,并导入web.xml文件

      2.解决编译版本问题,在pom.xml中,添加版本编译代码,以下是需要整合SSH代码。(代码已经解决jar冲突问题)

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>cn.itcast</groupId>
      <artifactId>ssh</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>war</packaging>
       <!-- 属性 -->
        <properties>
            <spring.version>4.2.4.RELEASE</spring.version>
            <hibernate.version>5.0.7.Final</hibernate.version>
            <struts.version>2.3.24</struts.version>
        </properties>
    
        <!-- 锁定版本,struts2-2.3.24、spring4.2.4、hibernate5.0.7 -->
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context</artifactId>
                    <version>${spring.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-aspects</artifactId>
                    <version>${spring.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-orm</artifactId>
                    <version>${spring.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-test</artifactId>
                    <version>${spring.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-web</artifactId>
                    <version>${spring.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-core</artifactId>
                    <version>${hibernate.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.struts</groupId>
                    <artifactId>struts2-core</artifactId>
                    <version>${struts.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.struts</groupId>
                    <artifactId>struts2-spring-plugin</artifactId>
                    <version>${struts.version}</version>
                </dependency>
            </dependencies>
        </dependencyManagement>
        <!-- 依赖管理 -->
        <dependencies>
            <!-- spring -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
            </dependency>
            <!-- hibernate -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
            </dependency>
    
            <!-- 数据库驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.6</version>
            </dependency>
            <!-- c3p0 -->
    
            <dependency>
                <groupId>c3p0</groupId>
                <artifactId>c3p0</artifactId>
                <version>0.9.1.2</version>
            </dependency>
    
    
            <!-- 导入 struts2 -->
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-core</artifactId>
            </dependency>
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-spring-plugin</artifactId>
            </dependency>
    
            <!-- servlet jsp -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.0</version>
                <scope>provided</scope>
            </dependency>
            <!-- 日志 -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.7.2</version>
            </dependency>
            <!-- junit -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.9</version>
                <scope>test</scope>
            </dependency>
            <!-- jstl -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <!-- 设置编译版本为1.8 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>

      二、开始编码(整合SSH所需的配置文件,切记在web.xml文件中配置struts核心过滤器、spring拦截器)

      1.strus.xml、applicationContext.xml、hibernate.cfg.xml   需要放在src/main/resources文件夹下,相当于普通工程的src文件夹下。以下是个文件模板

      strut.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>
        <!-- 配置常量 -->
        <!-- 字符集 -->
        <constant name="struts.i18n.encoding" value="UTF-8"></constant>
        <!-- 开发模式 -->
        <constant name="struts.devMode" value="true"></constant>
        <!-- 主题 -->
        <constant name="struts.ui.theme" value="simple"></constant>
        <!-- 扩展名 -->
        <constant name="struts.action.extension" value="action"></constant>
        <!-- 通用package -->
        <package name="customer" namespace="/" extends="struts-default">
    
            <action name="" class="全路径" method="方法名">
                <result name="success"></result>
            </action>
    
        </package>
    </struts>

      applicationContext.xml

    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="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">
    
        <!-- 数据库连接池 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="com.mysql.jdbc.Driver" />
            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/maven" />
            <property name="user" value="root" />
            <property name="password" value="root" />
        </bean>
    
        <!-- 配置sessionFactory -->
        <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
            <!-- 依赖dataSource -->
            <property name="dataSource" ref="dataSource"/>
            <!-- 创建工厂需要加载hibernate映射文件 -->
            <property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
        </bean>
        
        <bean id="customerDao" class="全路径">
         <property name="sessionFactory" ref="sessionFactory"></property>
        </bean>
        
    </beans>

      hibernate.cfg.xml   

    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <!-- 会话工厂 -->
        <session-factory>
            <!-- 数据库方言,根据数据库选择 -->
            <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
            <!--为了方便调试是否在运行hibernate时在日志中输出sql语句 -->
            <property name="hibernate.show_sql">true</property>
            <!-- 是否对日志中输出的sql语句进行格式化 -->
            <property name="hibernate.format_sql">true</property>
            <property name="hibernate.hbm2ddl.auto">none</property>
          
            <!-- 加载映射文件 -->
            <mapping resource="cn/itcast/crm/bean/Customer.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>

      

      2.实体的配置问价放在与对应的java代码同一个文件夹上。如下图所示

       

      3.测试dao代码(我习惯从底层编码)  测试代码是要存放在src/test/java文件夹下的位置

      

      4.测试结果

      

      5.创建service层

        5.1注入dao

    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="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">
        <!-- 数据库连接池 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="com.mysql.jdbc.Driver" />
            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/maven" />
            <property name="user" value="root" />
            <property name="password" value="root" />
        </bean>
    
        <!-- 配置sessionFactory -->
        <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
            <!-- 依赖dataSource -->
            <property name="dataSource" ref="dataSource"/>
            <!-- 创建工厂需要加载hibernate映射文件 -->
            <property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
        </bean>
        
        <bean id="customerDao" class="cn.itcast.crm.dao.impl.CustomerDaoImpl">
         <property name="sessionFactory" ref="sessionFactory"></property>
        </bean>
        
        <bean id="customerService" class="cn.itcast.crm.service.impl.CustomerServiceImpl">
         <property name="customerDao" ref="customerDao"></property>
        </bean>
        
        <bean id="customerAction" class="cn.itcast.crm.action.CustomerAction" scope="prototype">
         <property name="customerService" ref="customerService"></property>
        </bean>
    </beans>

      6.创建Action

        6.1通过Action 在jsp从值栈中获取

        

      

      

    作者:独而不孤

    -------------------------------------------

    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

    喂一下的我仓鼠谢谢
  • 相关阅读:
    java 微信公众号素材 新增其他类型永久素材
    @schedule
    idea 打包的jar运行报 “XXX中没有主清单属性”
    openjdk没有ssl支持的相关证书包,导致使用HTPPS调用第三方接口时候报错误 InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    查询端口是否开通
    企业微信-之无法修改成员手机号
    PostgreSQL使用distinct关键字给单独的几列去重
    centos全屏幕退出:Alt+Enter
    github上OC 和swift框架精选
    github每日精选---iOS版
  • 原文地址:https://www.cnblogs.com/lcaiqin/p/10360958.html
Copyright © 2011-2022 走看看