以下都是springboot的默认配置,如果修改过springboot的配置文件则有可能不起作用。

springboot的resources下的目录作用

resources/templates

    放html文件(只能通过控制类的@RequestMapping跳转才可以访问到)

resources/static

    放css、js、img等静态资源

 

踩坑一:springboot启动之后通过controller包下的控制类的@RequestMapping()注解无法跳转到指定的html页面

  原因一:

    springboot启动类要放置在所有包的最外面

    

 

  原因二:

    springboot秉着约定大于配置的原则,项目启动之后跳转的html页面需要放置在resources/templates目录下面才可以成功跳转,这个目录下的文件是受保护的,通过web地址无法直接访问。

    

  原因三:

    跳转方法上用了@ResponseBody注解,使用这个注解之后会将返回的信息当作字符串,写到html body区域,所以会将跳转的页面当作字符串写到body里。

  

 

 

 

踩坑二:springboot启动之后无法引入css、js、image等静态资源。

  原因一:springboot访问这些静态资源是在resources/static目录下访问的,如果这些样式文件不在这个目录下则有可能访问不成功。

  原因二:引入路径带有static目录

  

 

 

     why:springboot引入资源默认就是从resources/static目录下面开始寻找路径,如果加上static虽然在本地打开没问题,但启动了项目就会发现引入不成功样式文件,此时springboot启动访问的路径为resources/static/static,当然没有这个目录了欸,所以就会引入不成功。

 

踩坑三:SpringBoot解决跨域问题用@CrossOrigin注解

@CrossOrigin注解只能用于用于@RequestMapping请求路径下,@PostMapping和@GetMapping使用跨域注解将会不产生效果。