• springboot项目的重定向和转发


    下面是idea软件创建的项目目录,这里总结了一下转发与重定向的问题,详解如下。

    首先解释一下每个文件夹的作用,如果你是用的是idea创建的springboot项目,会在项目创建的一开始resources文件夹下自动创建static以及templates文件夹。也就是说项目初始时有java、resource、static以及templates 这几个文件夹。
    一般static下存放js以及css样式文件,templates存放html页面。
    以上是默认会创建的文件夹以及其作用
    首先static文件夹以及templates文件夹是受保护的,也就是说相当于你将文件放到了传统的ssh或ssm项目的WEB-INF下了。所以也就是说这两个文件夹下的文件是无法通过url直接访问的,以至于在springmvc下使用重定向会报404。
    在讲重定向与转发之前先讲一下目录优先级的情况,webapp>META-INF/resources>resources>static>public(亲测有效)
    那么如何能够直接访问到html或者css呢?
    方法一 
    我们可以在resources下创建一个名为public的文件夹,顾名思义,放在此文件夹下的文件是共有的,可以直接通过url访问,当然也可以springmvc重定向访问啦。
    方法二
    在main下创建webapp文件夹,将文件放到此文件夹下,效果同上。
    注!文件夹名字是固定的,起别的名字还是会报404或者无效
    首先呢public与wenapp这二个在使用过程中一般创建一个目录就好了,如下图。

    访问index1.html页面http://localhost:8888/index1.html

    可以看到直接访问到是webapp下的index.html页面。因为webapp优先级大于public优先级。webapp>public
    关于springmvc重定向写法
    @RequestMapping(“/test1”)
    public String test1(){
    return “index”;
    }
    转发是不需要手动加html的,此时springboot发现是转发,默认配置下他会自动去templates文件夹下找到对应的文件进行转发,如果return后写的是index.html会报404。
    重定向
    @RequestMapping(“/test2”)
    public String test2(){
    return “redirect:index1.html”;
    }
    首先,添加redirect:这个毋庸置疑是mvc的语法问题,其次这里需要注意的是需要手动添加.html,否则会报404,而重定向则会自动去public文件夹下寻找。至于与webapp优先级别则同上述。

  • 相关阅读:
    Alpha发布——美工+文案展示博客
    021_func
    020_with
    018_IO
    017_set
    016_dict
    015_string
    012_list
    010_ternaryOperation
    008_standard_lib_os
  • 原文地址:https://www.cnblogs.com/ming-blogs/p/10288877.html
Copyright © 2020-2023  润新知