【Java笔记(59)】SpringMVC中的重定向和RestFul风格

SpringMVC中的重定向和RestFul风格

精髓

方式返回值
请求转发return "文件名"
重定向return "redirect:/文件路径/../文件名.后缀"
  • RestFul风格就是请求链接一样,根据请求方式来执行不同的代码块
  • 采用占位符获取参数"/t1/{a}/{b}"
  • 使用@PathVariable注解获参数
  • 注:该注解只能用在方法参数上
@RequestMapping("/t1/{a}")
public String controller1( int a , ) 

1.代码准备

Controller.java

 @RequestMapping(path="/t1/{a}/{b}",method = RequestMethod.GET)
    public String controller1(@PathVariable int a , @PathVariable int b , Model model) {
        model.addAttribute("result" , a + b);
        return "result";
    }


    @RequestMapping(path="/t1/{a}/{b}",method = RequestMethod.POST)
    public String controller2(@PathVariable int a , @PathVariable int b , Model model) {
        model.addAttribute("result" , a + b);
        return "redirect:result";
    }


    @RequestMapping(path="/t2")
    public String controller3(Model model) {
        model.addAttribute("result" , "请求转发来了");
        return "result";
    }


    @RequestMapping(path="/t3")
    public String controller4(Model model) {
        model.addAttribute("result" ,"重定向来了" );
        return "redirect:/pages/result.jsp";
    }

在这里插入图片描述

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <h3>首页</h3>

  <h3>MVC中的请求转发和重定向</h3>
  <a href="t2">请求转发</a>
  <a href="t3">重定向</a>

  <br>
  <br>
  <hr>
  <h3>restful中的请求转发和重定向</h3>
  <a href="t1/1/3">t1/1/3 restful风格的GET方法</a>
  <form action="t1/1/2" method="post">
    <input type="submit" value="restful风格的POST方法提交">
  </form>


  </body>
</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MVqyWXen-1598373983703)(X:\MD\Java\SpringMVC中RestFul风格的重定向异常.assets\1598372188870.png)]

2.MVC中的请求转发和重定向

请求转发

return "result";
return "forward:result"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wWaoeaHy-1598373983712)(X:\MD\Java\SpringMVC中RestFul风格的重定向异常.assets\1598372953383.png)]

重定向

  • mvc只会给我们拼接new HttpServletRequest().getContextPath() 到我们的返回值上,所以在:之后需要有一个/
return "redirect:/pages/result.jsp";//需要写到具体的jsp路径,和后缀

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yreYzqgg-1598373983724)(X:\MD\Java\SpringMVC中RestFul风格的重定向异常.assets\1598373013986.png)]

3.RestFul中的请求转发和重定向

请求转发

  • 路径中的{a}占位符,这里的占位符需要和参数名一样
  • @PathVariable在方法属性上的关键注解
@RequestMapping(path="/t1/{a}/{b}",method = RequestMethod.GET)
public String controller1(@PathVariable int a , @PathVariable int b , Model model) 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P3jQ7vDD-1598373983727)(X:\MD\Java\SpringMVC中RestFul风格的重定向异常.assets\1598373162859.png)]

重定向

  • restful中的重定向与mvc中的一摸一样,不会有影响

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lvhpQJEF-1598373983733)(X:\MD\Java\SpringMVC中RestFul风格的重定向异常.assets\1598373362965.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值