SpringBoot使用jsp模版的时候访问页面出现404问题解决
10.1黄金周正是大家带着自己想带的人去这里那里玩儿的好日子,而我虽然有一大堆想带去玩儿的人,奈何没有RMB的支撑啊2333,所以只有在家带娃,无聊之际就打开电脑学习一下SpringBoot,正在集成jsp模版的时候(公司需要用到jsp模版)遇到了一个很郁闷的问题,就是在跳转的时候能够到Controller,但就是找不到jsp页面报错404,百度了好久都没有解决(可能是太菜了),感觉头疼!
好在皇天不负有心人,这个问题还是被我给解决了,废话不多说,直接上图,大家按照我这个来应该都能成功!
1.首先是pom.xml的配置,也是之前问题的所在最关键地方,大家可以仔细比较一下现在正确的配置和之前错误的配置不同的地方,之前是注释了tomcat的<scope>provided</scope>,而没有注释jasper的<scope>provided</scope>显然这样是错误的,正确的应该是注释jasper的<scope>provided</scope>,不要注释tomcat的<scope>provided</scope>,其原因我查了下资料应该是idea编译启动的时候找不到jasper中被指定为provided这种jar包,虽然不够详细,但是我只知道这么多,有深究过大佬请明示一下,不胜感激!!!
2.以下是yml的配置
spring:
mvc:
view:
# 统一前缀
prefix: /WEB-INF/views/
# 统一后缀
suffix: .jsp
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
username: root
password: 2015214
jpa:
hibernate:
ddl-auto: create # 后面用update
show-sql: true
3.项目结构
4.跳转的Controller代码
@Controller
@RequestMapping("/student")
public class StudentController {
@Autowired
private IStudentService studentService;
@RequestMapping("/index.do")
public String index(){
System.out.println(111);
return "/employee/employee";
}
@RequestMapping("/updateOrSave.do")
public void updateOrSave(Student stu){
if(stu.getId()==null) {
studentService.save(stu);
}else {
studentService.update(stu);
}
}
5.启动类的代码
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
}