ssm整合与配置

文章目录

  • 一、配置准备

    • 在进行配置前,先想清楚要配置哪些文件,如图,除web.xml外,其余三个配置文件名称均可自定义。
        在这里插入图片描述

      如图所示,一共有四个需要手动配置的文件:

    • web.xml:配置servlet、filter、listener
    • applicationContext.xml:配置相关的bean,与mybatis整合
    • SpringMvc.xml:用于配置视图解析器、控制器等
    • Mybatis.xml:用于生成Mybatis用到的实体类、Mapper接口、Map配置文件 (由于要与spring进行整合,所以在真正配置的时候有些会合并到spring配置文件中配置)
    • 二、配置过程

      配置之前要在pom.xml中添加一定的依赖包。
      下面是我做的时候进行的一些简单的依赖配置。

      1.引入依赖

    • <?xml version="1.0" encoding="UTF-8"?>
      <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>com.may</groupId>
          <artifactId>ssm_crud</artifactId>
          <version>1.0-SNAPSHOT</version>
          <packaging>war</packaging>
      <name>ssm_crud Maven Webapp</name>
          <!-- FIXME change it to the project's website -->
          <url>http://www.example.com</url>
      <properties>
              <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
              <maven.compiler.source>1.7</maven.compiler.source>
              <maven.compiler.target>1.7</maven.compiler.target>
              <junit.version>4.12</junit.version>
              <jstl.version>1.2</jstl.version>
              <spring.version>4.3.7.RELEASE</spring.version>
              <pagehelper.version>5.1.11</pagehelper.version>
              <servlet-api.version>3.1.0</servlet-api.version>
              <mybatis.version>3.4.2</mybatis.version>
              <mybatis.spring.version>1.3.1</mybatis.spring.version>
              <mybatis.generator.version>1.3.5</mybatis.generator.version>
              <c3p0.version>0.9.1.2</c3p0.version>
              <mysql.version>5.1.41</mysql.version>
          </properties>
       <!-- 引入jar包 -->
          <!-- springmvc spring mybatis -->
          <dependencies>
              <!-- 分页 -->
              <dependency>
                  <groupId>com.github.pagehelper</groupId>
                  <artifactId>pagehelper</artifactId>
                  <version>${pagehelper.version}</version>
              </dependency>
      <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-webmvc</artifactId>
                  <version>${spring.version}</version>
              </dependency>
              <!-- springJdbc   spring事务控制 -->
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-jdbc</artifactId>
                  <version>${spring.version}</version>
              </dependency>
              <!-- spring 面向切面编程  -->
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-aspects</artifactId>
                  <version>${spring.version}</version>
              </dependency>
              <!-- spring 单元测试  -->
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-test</artifactId>
                  <version>${spring.version}</version>
                  <!--<scope>test</scope>-->
              </dependency>
      <!-- mybatis -->
              <dependency>
                  <groupId>org.mybatis</groupId>
                  <artifactId>mybatis</artifactId>
                  <version>${mybatis.version}</version>
              </dependency>
              <!-- mybatis整合spring的适配包 -->
              <dependency>
                  <groupId>org.mybatis</groupId>
                  <artifactId>mybatis-spring</artifactId>
                  <version>${mybatis.spring.version}</version>
              </dependency>
      <!-- 数据库连接池、驱动 -->
              <dependency>
                  <groupId>c3p0</groupId>
                  <artifactId>c3p0</artifactId>
                  <version>${c3p0.version}</version>
              </dependency>
       <dependency>
                  <groupId>mysql</groupId>
                  <artifactId>mysql-connector-java</artifactId>
                  <version>${mysql.version}</version>
              </dependency>
      <!-- 其它(jstl servlet-api junit)-->
              <dependency>
                  <groupId>javax.servlet</groupId>
                  <artifactId>jstl</artifactId>
                  <version>${jstl.version}</version>
              </dependency>
              <dependency>
                  <groupId>javax.servlet</groupId>
                  <artifactId>javax.servlet-api</artifactId>
                  <version>${servlet-api.version}</version>
                  <scope>provided</scope>
              </dependency>
      <dependency>
                  <groupId>junit</groupId>
                  <artifactId>junit</artifactId>
                  <version>${junit.version}</version>
                  <!--            <scope>test</scope>-->
              </dependency>
              <!-- MBG  mybatis逆向工程-->
              <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
              <dependency>
                  <groupId>org.mybatis.generator</groupId>
                  <artifactId>mybatis-generator-core</artifactId>
                  <version>${mybatis.generator.version}</version>
              </dependency>
      </dependencies>
      <build>
              <finalName>ssm_crud</finalName>
              <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
                  <plugins>
                      <plugin>
                          <artifactId>maven-clean-plugin</artifactId>
                          <version>3.1.0</version>
                      </plugin>
                      <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                      <plugin>
                          <artifactId>maven-resources-plugin</artifactId>
                          <version>3.0.2</version>
                      </plugin>
                      <plugin>
                          <artifactId>maven-compiler-plugin</artifactId>
                          <version>3.8.0</version>
                      </plugin>
                      <plugin>
                          <artifactId>maven-surefire-plugin</artifactId>
                          <version>2.22.1</version>
                      </plugin>
                      <plugin>
                          <artifactId>maven-war-plugin</artifactId>
                          <version>3.2.2</version>
                      </plugin>
                      <plugin>
                          <artifactId>maven-install-plugin</artifactId>
                          <version>2.5.2</version>
                      </plugin>
                      <plugin>
                          <artifactId>maven-deploy-plugin</artifactId>
                          <version>2.8.2</version>
                      </plugin>
                  </plugins>
              </pluginManagement>
          </build>
      </project>

       

      2.配置Web.xml文件

      依赖引入完后,先来配置一下Web.xml文件。
      首先要明确一下Web.xml中必要配置的一些信息:

    • 配置spring的核心监听器ContextLoaderListener。

      作用:在tomcat启动的时候,创建spring 的工厂类对象,把工厂类对象绑定到tomcat的上下文中,以前写java项目第一步都是创建spring的工厂类对象(如下代码)。而在运行web项目时还是需要Spring的工厂类对象,所以spring就为我们提供了这个监听器来在tomcat启动的时候来实现这些代码。

      注意:默认spring会从WEB-INF目录下加载applicationContext.xml作为spring的主配置文件,如果我们不喜欢把主配置文件放到这个地方,我们可以通过手动来指定Spring主配置文件的位置和名称。

    • 配置springMvc的前端控制器DispatcherServlet。

      作用:拦截相应的请求交给spring mvc处理。

      注意:默认spring mvc会从WEB-INF下去加载[servlet的name]-servlet.xml 这个主配置文件,针对下面代码中的例子主配置文件的名称应该是spring-mvc-servlet.xml. 如果我们不喜欢把主配置文件放到这个地方,我们可以通过手动来指定springMvc主配置文件的位置和名称。

    • 配置字符编码过滤器CharacterEncodingFilter

      作用:配置该过滤器拦截所有的资源并设置好编码格式,用来防止中文乱码问题。

      注意:该过滤器一定要配置在其他过滤器之前。

    • 下面是web.xml中的全部配置代码:

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
               version="4.0">
      <!-- ===================== Spring配置 ===================== -->
          <!-- 配置spring环境 -->
      <!-- 手动来指定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>
      <!-- ===================== SpringMVC配置 ===================== -->
          <!-- 配置SpringMVC前端控制器,负责处理所有请求 -->
          <servlet>
              <servlet-name>spring-mvc</servlet-name>
              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
              <!-- 手动来指定SpringMVC主配置文件的位置和名称 -->
              <init-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>classpath:SpringMvc.xml</param-value>
              </init-param>
              <load-on-startup>1</load-on-startup>
          </servlet>
        <!-- 代表拦截所有请求 -->
          <servlet-mapping>
              <servlet-name>spring-mvc</servlet-name>
              <url-pattern>/*</url-pattern>
          </servlet-mapping>
      <filter>
              <filter-name>characterEncodingFilter</filter-name>
              <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
              <init-param>
                  <param-name>encoding</param-name>
                  <param-value>UTF-8</param-value>
              </init-param>
          </filter>
          <filter-mapping>
              <filter-name>characterEncodingFilter</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>
      </web-app>
      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&风向决定发型&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值