springBoot的转发和重定向

1.不使用模板

方式一:使用关键字

@Controller

@requestMapping

return "redirect:index.html";

return "forward:index.html"; //默认就是转发,forward可省略

方式二:使用servlet提供的API

转发:类的注解使用@Controller或者RestController都可以

public void an(String name,HttpServletRequest request,HttpServletResponse response){
    request.getRequestDispatcher("/an.html").forward(resquest,response);
}

重定向: 类的注解使用@Controller或者RestController都可以

public void an(String name,HttpServletResponse response){
    response.sendRedirect("/an.html");
}

2.使用thymeleaf模板

spring.thymeleaf.prefix = classpath:/templates/

@Controller

@requestMapping

return "index";  //讲index.html放在resources/templates路径下

问题1:springBoot中的重定向和转发

原文地址:https://blog.csdn.net/yubin1285570923/article/details/83796003

转发:一次请求,服务器内部调用其他的组件处理,request和response可以共用,有局限性,只能转发到本应用的中的某些资源,页面或者controller请求。可以直接访问WEB-INF下面的页面。

重定向:两次请求,地址会改变,request和response‘不能共用,不能直接访问WEB-INF下面的页面。

 

 

 

 

你可能感兴趣的:(springBoot,springBoot)