springboot常见错误(访问不了Controller,访问不了jsp)

一.访问不了Controller :

1. Application.java不在父目录,由于项目加载的时候@SpringBootApplication注解会去扫描当前目录以及子目录的文件,

如果其不是父目录,则无法扫描到对应的文件,然后运行项目就会出现访问Controller访问不了。因为压根就扫描不到

controller层里的文件,又谈何访问,所以就会404not found



2. 应该是@Controller 而不是 @RestController

因为@RestController 相当于 @Controller [email protected],是ajax异步请求。无法返回jsp页面的。

要使页面能跳转,必须用@Controller


二.访问不了jsp :


1. eclipse 的 pom里面

        <!-- spring boot tomcat jsp 支持开启  -->
        <dependency>  
               <groupId>org.springframework.boot</groupId>  
               <artifactId>spring-boot-starter-tomcat</artifactId>  
             <scope>provided</scope>  
         </dependency>  
 
         <dependency>  
             <groupId>org.apache.tomcat.embed</groupId>  
             <artifactId>tomcat-embed-jasper</artifactId>  
             <scope>provided</scope>

         </dependency>


2 . idea的pom里面识别不了provided的,所以必须注释掉

    <!-- spring boot tomcat jsp 支持开启  -->
        <dependency>  
               <groupId>org.springframework.boot</groupId>  
               <artifactId>spring-boot-starter-tomcat</artifactId>  
            <!--<scope>provided</scope>-->
         </dependency>  
 
         <dependency>  
             <groupId>org.apache.tomcat.embed</groupId>  
             <artifactId>tomcat-embed-jasper</artifactId>  
             <!--<scope>provided</scope>-->
         </dependency>


3. application.yml里面:(注意yml里面不能用tab,只能用空格键隔开),

spring:
  mvc:
   view:
    prefix: /WEB-INF/jsp/

    suffix: .jsp

4. 如果用的是application.properties,应该是:

spring.mvc.view.prefix=/WEB-INF/jsp/

spring.mvc.view.suffix=.jsp

这样controller就会去找/WEB-INF/jsp/目录下的jsp文件