【SpringMVC学习笔记】2.常用注解Ⅰ

转发与重定向

  • 转发到页面    默认的选项
  • 重定向到页面    redirect:path
  • 转发到另一个控制器    forward:path

HelloController.java

package com.cyk.controller;

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

@Controller
@RequestMapping("/hello")
public class HelloController {

    //转发
    @RequestMapping("/forward")
    public String forward(Model model){
        //springmvc model默认在请求域中存储值
        System.out.println("转发");
        model.addAttribute("skill","睡觉");
        return "forward";
    }

    //重定向
    @RequestMapping("/redirect")
    public String redirect(Model model){
        model.addAttribute("skill","煮饭");
        System.out.println("重定向");
        //不带斜杠的写法是一个相对路径,根据当前上下文决定。hello
        //如果是重定向,就跟视图解析的规则无关
        return "redirect:/jsp/redirect.jsp";
    }

    @RequestMapping("/forward2")
    public String forwardAnotherController(){
        return "forward:/baby/hello";
    }

}

BabyController.java 

package com.cyk.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/baby")
public class BabyController {

    @RequestMapping("/hello")
    public String greeting(){
        System.out.println("baby hello");
        return "forward";
    }
}

关于springmvc访问web元素

  • request
  • session
  • application

request:可以通过模拟的对象完成操作

【SpringMVC学习笔记】2.常用注解Ⅰ

也可以使用原生的servletAPI完成

【SpringMVC学习笔记】2.常用注解Ⅰ

直接在方法中入参即可

session 和 application:同理

【SpringMVC学习笔记】2.常用注解Ⅰ

【SpringMVC学习笔记】2.常用注解Ⅰ

 

注解详解

【SpringMVC学习笔记】2.常用注解Ⅰ

【SpringMVC学习笔记】2.常用注解Ⅰ

说明RequestMapping可以通过value(数组的形式),匹配多个路径

【SpringMVC学习笔记】2.常用注解Ⅰ

path是value的别名

【SpringMVC学习笔记】2.常用注解Ⅰ

所以同理可改成

【SpringMVC学习笔记】2.常用注解Ⅰ

 

RequestMapping中的method可以写成数组形式

form.jsp发送post请求无法被提交

【SpringMVC学习笔记】2.常用注解Ⅰ

 出现

【SpringMVC学习笔记】2.常用注解Ⅰ

【SpringMVC学习笔记】2.常用注解Ⅰ