配置视图解析器
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/jsp/"/>
- <property name="suffix" value=".jsp"/>
- bean>

对应的controller类
- package com.gt.controller;
-
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.servlet.mvc.Controller;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- //只要实现了Controller接口的类,说明这就是一个控制器了
-
- public class ControllerTest1 implements Controller {
- public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
-
-
- ModelAndView mv = new ModelAndView();
- // 添加数据
- mv.addObject("msg", "ControllerTest1");
-
- // 添加视图的名字 跳转到哪里
- mv.setViewName("test");
-
- return mv;
- }
- }

通过设置ServletAPI , 不需要视图解析器

(1)创建一个ModelTest1

(2)对ModelTest1进行配置
- package com.gt.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
-
- @Controller
- public class ModelTest1 {
-
-
- @RequestMapping("/m1/t1")
- public String test1(HttpServletRequest request, HttpServletResponse response) {
-
- HttpSession session = request.getSession();
- System.out.println(session.getId());
-
- return "test";
-
- }
-
- }

(3)运行,拿到了sessionid


(1)先要在springmvc-servlet中注解掉视图解析器

(2)返回/test.jsp
转发
- package com.gt.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
-
- @Controller
- public class ModelTest1 {
-
- @RequestMapping("/m1/t1")
- public String test1(Model model) {
-
- model.addAttribute("msg", "ModelTest1");
- //转发
- return "forward:/WEB-INF/jsp/test.jsp";
-
- }
-
- }

输出结果:

重定向:
- package com.gt.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
-
- @Controller
- public class ModelTest1 {
-
-
-
- @RequestMapping("/m1/t2")
- public String test2(Model model) {
-
- model.addAttribute("msg", "ModelTest1");
- //重定向
- return "redirect:/index.jsp";
-
- }
-
- }
输出结果:

(1)打开视图解析器

(2)运行代码在ModelTest1中
- @RequestMapping("/m1/t1")
- public String test1(Model model) {
-
- model.addAttribute("msg", "ModelTest1");
- //转发
- return "forward:/WEB-INF/jsp/test.jsp";
-
-
- }
-
- @RequestMapping("/m1/t2")
- public String test2(Model model) {
-
- model.addAttribute("msg", "ModelTest1");
- //重定向
- return "redirect:/index.jsp";
-
- }

1、提交的域名称和处理方法的参数名一致
提交数据 : http://localhost:8080/hello?name=shanmu
处理方法 :
- @Controller
- @RequestMapping("/u1")
- public class UserController {
-
- // http://localhost:8080/u1/t1?name=zyy
- @GetMapping("/t1")
- public String add(String name, Model model) {
- //1. 获取前端传的入参
- System.out.println("前端传的入参:" + name);
- //2. 将返回结果传输给前端 Model
- model.addAttribute("msg", name);
- //3. 视图跳转
- return "test";
- }
- }
后台输出 : shanmu
2、提交的域名称和处理方法的参数名不一致(这种办法比较好@RequestParam("username"))
提交数据 : http://localhost:8080/hello?username=shanmu
处理方法 :
- //@RequestParam("username") : username提交的域的名称 .
- @GetMapping("/t2")