一、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搭建完成,可进行前后台的数据操作