SpringMVC如何实现RESTful风格的Web服务?

更新于
2026-10-12 10:51:47
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计304个文字,预计阅读时间需要2分钟。

SpringMVC如何实现RESTful风格的Web服务?

使用Spring MVC进行控制器间跳转并传递值示例:

示例:从`createOrderForOld`跳转到`createOrder`,传递值:

java@RequestMapping(value=/createOrderForOld)public String createOrderForOld(HttpServletRequest req) { // ... 处理逻辑 ...

SpringMVC如何实现RESTful风格的Web服务?

// 跳转到createOrder,并传递值 return forward:/createOrder;}

@RequestMapping(value=/createOrder)public String createOrder() { // ... 接收并处理传递的值 ...

// ... 处理逻辑 ...}

传值和接值

Spring MVC contorller跳转到另一个controller并传值 示例均从createOrderForOld跳转到createOrder 1: forward 请求转发 @RequestMapping(value ="/createOrderForOld") public String createOrder(HttpServletRequest request,ModelMapmodel) { return"forward:/createOrder"; } @RequestMapping(value ="/createOrder") public String createOrder(String oderId,String orderName,ModelMap model) { return"index; } forward跳转,是请求转发,参数自动跳转,所以当localhost:8080/my-app/createOrderForOld?orderId=123 该链接请求createOrderForOld接口后 请求转发到createOrder接口时,参数自动带过来了,createOrder中oderId自动赋值为“123”,参数名称需一致,否则无法传参赋值。 2: redirect 重定向 @RequestMapping(value ="/createOrderForOld") public String createOrder(HttpServletRequest request,ModelMap model) { model.put("orderName","newOld"); return"redirect:/createOrder?orderId=123"; } @RequestMapping(value ="/createOrder") public String createOrder(String oderId,String orderName,ModelMap model) { return"index"; } 当请求localhost:8080/my-app/createOrderForOld 链接请求createOrderForOld接口后 请求重定向到createOrder接口时,通过model.put方法 ,createOrder中oderName自动赋值为“newOld”,通过参数拼接orderId自动赋值为“123”。 故redirect跳转到另一个controller是通过model还是拼接url均可。参数名称需一致,否则无法传参赋值。 RedirectAttributes和ModelMap或Model不推荐一起使用,因为在redirect传值时,同时存在,只有RedirectAttributes中参数值被传递,ModelMap或Model中变量不会传递。

本文共计304个文字,预计阅读时间需要2分钟。

SpringMVC如何实现RESTful风格的Web服务?

使用Spring MVC进行控制器间跳转并传递值示例:

示例:从`createOrderForOld`跳转到`createOrder`,传递值:

java@RequestMapping(value=/createOrderForOld)public String createOrderForOld(HttpServletRequest req) { // ... 处理逻辑 ...

SpringMVC如何实现RESTful风格的Web服务?

// 跳转到createOrder,并传递值 return forward:/createOrder;}

@RequestMapping(value=/createOrder)public String createOrder() { // ... 接收并处理传递的值 ...

// ... 处理逻辑 ...}

传值和接值

Spring MVC contorller跳转到另一个controller并传值 示例均从createOrderForOld跳转到createOrder 1: forward 请求转发 @RequestMapping(value ="/createOrderForOld") public String createOrder(HttpServletRequest request,ModelMapmodel) { return"forward:/createOrder"; } @RequestMapping(value ="/createOrder") public String createOrder(String oderId,String orderName,ModelMap model) { return"index; } forward跳转,是请求转发,参数自动跳转,所以当localhost:8080/my-app/createOrderForOld?orderId=123 该链接请求createOrderForOld接口后 请求转发到createOrder接口时,参数自动带过来了,createOrder中oderId自动赋值为“123”,参数名称需一致,否则无法传参赋值。 2: redirect 重定向 @RequestMapping(value ="/createOrderForOld") public String createOrder(HttpServletRequest request,ModelMap model) { model.put("orderName","newOld"); return"redirect:/createOrder?orderId=123"; } @RequestMapping(value ="/createOrder") public String createOrder(String oderId,String orderName,ModelMap model) { return"index"; } 当请求localhost:8080/my-app/createOrderForOld 链接请求createOrderForOld接口后 请求重定向到createOrder接口时,通过model.put方法 ,createOrder中oderName自动赋值为“newOld”,通过参数拼接orderId自动赋值为“123”。 故redirect跳转到另一个controller是通过model还是拼接url均可。参数名称需一致,否则无法传参赋值。 RedirectAttributes和ModelMap或Model不推荐一起使用,因为在redirect传值时,同时存在,只有RedirectAttributes中参数值被传递,ModelMap或Model中变量不会传递。