100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > springboot跳转到指定页面和(重定向 请求转发的写法)

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

时间:2021-11-09 02:32:19

相关推荐

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

一 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);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。