springboot跳转到指定页面和(重定向,请求转发的写法)

一 springboot跳转到指定页面

1.controller的写法

package com.ljf.spring.boot.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ClassName: UserController
 * @Description: TODO
 * @Author: liujianfu
 * @Date: 2021/04/01 10:26:05 
 * @Version: V1.0
 **/
@Controller
public class UserController {
    @RequestMapping("/api/show")
    public String showName(String userName,Model model){
        System.out.println("进入controller层了!!!"+userName);
         model.addAttribute("name",userName);
        return "index";//跳转到指定页面
    }

}

二 springboot重定向和请求转发

2.1 springboot重定向

方式一:使用 "redirect" 关键字(不是指java关键字),注意:类的注解不能使用@RestController,要用@Controller;因为@RestController内含@ResponseBody,解析返回的是json串。不是跳转页面

方式一:使用 "redirect" 关键字(不是指java关键字),注意:类的注解不能使用@RestController,要用@Controller
@RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET)
public String test(@PathVariable String name) {
  return "redirect:/ceng/hello.html";
}

方式二:使用servlet 提供的API,注意:类的注解可以使用@RestController,也可以使用@Controller 

方式二:使用servlet 提供的API,注意:类的注解可以使用@RestController,也可以使用@Controller
@RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET)
public void test(@PathVariable String name, HttpServletResponse response) throws IOException {
  response.sendRedirect("/ceng/hello.html");
}

2.2 springboot的请求转发

方式一:使用 "forword" 关键字(不是指java关键字),注意:类的注解不能使用@RestController 要用@Controller

方式一:使用 "forword" 关键字(不是指java关键字),注意:类的注解不能使用@RestController 要用@Controller
@RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET)
public String test(@PathVariable String name) {
  return "forword:/ceng/hello.html";
  }

 方式二:使用servlet 提供的API,注意:类的注解可以使用@RestController,也可以使用@Controller

方式二:使用servlet 提供的API,注意:类的注解可以使用@RestController,也可以使用@Controller
@RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET)
public void test(@PathVariable String name, HttpServletRequest request, HttpServletResponse response) throws Exception {
  request.getRequestDispatcher("/ceng/hello.html").forward(request,response);
}

猜你喜欢

转载自blog.csdn.net/u011066470/article/details/115379182
今日推荐