springboot与jsp页面及mybatis的整合及出现的问题

一、springboot+jsp+mybatis整合
1、在idea上新建springboot项目,依赖于maven(依赖于maven为重点),选择DeveloperTools页面点击前两个(第一个为springboot的热启动,第二个为lombok插件)在这里插入图片描述
2、web选择选择springweb在这里插入图片描述
3、选择sql时选择jdbcapi,mybatis及下方的mysql在这里插入图片描述
点击next创建完成

注意步骤:
在jsp与springboot整合时,常常会出现404页面的情况,下面是自己出现的原因
在这里插入图片描述
在项目加载完成,首先需要在src下面的main目下创建webapp目录,需与java、resource文件夹对其,而自己在第一次整合时,将webapp文件夹创建的和main目录对其,导致一直报404,因为没有找到对应的jsp页面,在这里插入图片描述
接着点击右上方的这个按钮,进入之后点击modules,点击上方的+,找到web点击确定,出现如下按钮
在这里插入图片描述
在这里插入图片描述
接着点击如图的+,将其对应到新创建的webapp目录上,同理。下方的+也需对应到webapp目录下、勾选sourceroots里面的内容,点击保存,ok在这里插入图片描述
①接着需要配置pom里面的依赖
jdbc的依赖在进入系统后,自动配置,我们需要引入jsp的依赖
在这里插入图片描述
②在application.properties配置文件中配置jsp视图解析及数据库的配置

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
mybatis.type-aliases-package=com.lqw.springbootdemo2.dao
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.data-username=root
spring.datasource.data-password=root
server.port=8088
server.servlet.context-path=/

配置完成之后
设置controller类

*测试框架是否有用些的controller*/
@Controller
@RequestMapping("main")
public class LoginController {

    @RequestMapping("index")
    public String toLogin(){
        return "main/login";
    }
}

启动项目,访问路径完成
在这里插入图片描述


一、出现的问题


1、整合jsp**
①页面报404
解决方法
Ⅰ、首先查看启动类是否和controller目录或者包含controller目录在同一级
Ⅱ、再去查看项目在添加web时,是否配置完成(注意:直接点编辑按钮,将路径里面的web直接改为webapp,同理,下方也一致)
Ⅲ、如果你将静态资源文件放置在了webapp下,则需要在拦截器里面设置静态资源的访问路径

   @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/res/**").addResourceLocations("res/");
    }

Ⅳ、确保res目录和views(存放页面的目录)目录在同一级下
在这里插入图片描述
2、整合mybatis
①出现的问题
Ⅰ、需要在配置文件中指定xml的路径
mybatis: mapper-locations: classpath:/com/lan/springbootday01/core/mappers/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
Ⅱ、需要在配置文件中配置数据源

  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=true&autoReconnect=true&createDatabaseIfNotExist=true
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
    filter: log4j,stat
    initial-size: 10
    maxActive: 8
    maxWait: 60000
    minIdle: 5
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 'x'
    testWhileIdle: true
    testOnBorrow: false
    estOnReturn: false
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20

需要在pom里引入driup依赖

 <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.5</version>
        </dependency>

Ⅲ、需要在pom文件里面配置资源访问的路径

     <!--配置资源文件-->
        <resources>
            <!-- 由于Maven默认不将.java文件以外的文件打包,这里设置在编译时将源码下的所有xml包含打包,主要解决Mybaits的SQL文件无法编译的问题 -->
            <resource>
                <!--资源文件的目录-->
                <directory>${basedir}/src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>

            </resource>
      
        </resources>

Ⅳ、去确保jdbc驱动和mysql驱动版本保持一致,若使用com.mysql.jdbc.Driver此驱动名,则mysql驱动的版本需在5版本,若使用com.mysql.cj.jdbc.Driver,则mysql的驱动版本需在5以上

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.34</version>
        </dependency>

对应mysql 5版本

处理完这些问题,则springboot和jsp及mybatis搭建完成,可进行前后台的数据操作
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值