一 springboot跳转到指定页面
1.controller的写法: 必须是templates下面的页面,不经过配置,无法直接跳转到public,static,等目录下的页面
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: /04/0110:26:05* @Version: V1.0**/@Controllerpublic 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.2springboot的请求转发
方式一:使用 "forward" 关键字(不是指java关键字),注意:类的注解不能使用@RestController 要用@Controller
方式一:使用 "forward" 关键字(不是指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);}