当前位置 博文首页 > 、唐城:SSM老项目修改为SpringBoot项目(springboot与jsp整合)

    、唐城:SSM老项目修改为SpringBoot项目(springboot与jsp整合)

    作者:[db:作者] 时间:2021-07-06 17:57

    前言

    要想知道改为springboot项目需要修改什么配置什么,就要知道SSM项目web.xml和springmvc.xml给我配置了啥?

    web.xml配置了中央调度器,以及初始化了一些容器,编码,路由映射(为了将url转发到dispatcherServlet),指定springmvc配置文件的路径等等。

    srpingmvc.xml里面主要配置了 控制器controller配置,视图解析器,static静态资源映射等等。

    springboot帮我们自动配置了些什么?

    springboot帮我们自动扫描了controller类,中央调度器自动装配,视图解析器自动默认解析classpath:/templates/ , 静态资源自动默认解析 classpath:/static/ 或者classpath:/public/ 或者 classpath:/resources/ 。。。

    所以我们ssm变springboot项目可能就仅仅配置以下依赖,spring-boot的依赖相对旧项目依赖要变化。
    还有就是springboot要整合一下jsp。

    步骤:

    0.sql文件导入 创建数据库

    1.新建一个springboot项目

    并且创建好相关的文件目录,把相关的文件放到相应的目录下。

    目录一般如下:

    之后添加依赖:

    一般添加如下依赖:

    spring-boot-starter-web web模块

    mybatis-spring-boot-starter 数据库mybatis

    阿里巴巴数据源druid

    数据库驱动 mysql-connector-java

    tomcat-embed-jasper jsp解析模块支持(springboot内置的tomcat没有这个依赖,添加这个用于jsp的解析)

    其他依赖的话,就按照你的项目按需添加了!!!!

    maven:

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <!--springboot中使用jsp-start-->
    <!---引入springboot内嵌的tomcat对jsp的解析包-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    <!--mybatis-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.4</version>
    </dependency>
    <!--druid 阿里巴巴数据源-->
    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.2.5</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    

    2.application.properties配置

    需要配置如下内容:

    1.需要配置数据源连接数据库

    2.配置视图解析器jsp整合

    3.配置静态资源解析器

    4.配置mybatis

    这里配置,需要一步步测试,先配置数据源数据库,并且先测试是否能成功连接。

    application.yml:

    spring:
      datasource:
        username: root
        password: 123456
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost:3306/trip_Web_db?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2b8
        # 使用阿里巴巴的Druid数据库连接池
        type: com.alibaba.druid.pool.DruidDataSource
        # 连接池的配置信息
        # 初始化大小,最小,最大连接数
        initial-size: 10
        min-idle: 10
        maxActive: 20
        # 配置获取连接等待超时的时间
        maxWait: 60000
        # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是ms
        timeBetweenEvictionRunsMillis: 60000
        # Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于
        # minEvictableIdleTimeMillis,则关闭当前连接。单位是ms
        minEvictableIdleTimeMillis: 300000
        # 用来检测连接是否有效的sql,要求是一个查询语句。
        validationQuery: SELECT 1
        #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
        testWhileIdle: true
        # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
        testOnBorrow: false
        # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
        testOnReturn: false
        # 打开PSCache,并且指定每个连接上PSCache的大小
        poolPreparedStatements: true
        # 配置监控统计拦截的filters,监控统计用的stat、日志用的log4j、 防御sql注入的wall
        filters: stat,wall,slf4j
        # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
        useGlobaiDataSourceStat: true
        maxPoolPreparedStatementPerConnectionSize: 20
    
      mvc:
        #视图解析器  需要整合jsp的话  需要这个配置
        view:
          prefix: /WEB-INF/jsp/
          suffix: .jsp
    
    #mybatis
    mybatis:
      type-aliases-package: com.web.tripweb.pojo  #实体类包
      mapper-locations: classpath:/mapper/*.xml  #xml文件
    

    3.springboot-jsp的整合

    老项目用的jsp就需要整合,如果是thymeleaf就没事~~

    application.yml配置了之后,数据库测试保证能正常连接数据库,修改mybatis 什么xml,保证功能都能正常使用。

    之后就试试项目是否正常运行。

    主要看视图能否正常打开,不能的话,就看这篇文章👉springboot整合jsp

    cs