复习第6点-6.SpringMVC作用域传值

作用域范围

对象名称 作用范围
application 整个作用范围
session 在当前会话中有效
request 在当前请求中有效
page 在当前页面有效

request/session/application作用域传值

package controller;

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

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Map;

@Controller
public class HttpRequestController {
    @RequestMapping("/login")
    public String showLogin(HttpServletRequest request) {
        request.setAttribute("msg", "hello showlogin");
        return "index.jsp";
    }

    /*
         SpringMVC 会为 Map 接口注入 BindingAwareModelMap 对象。
         该对象是由 Spring 提供的一个实现了 Map 接口的对象。
         SpringMVC会把该对象中的数据放入到 HttpServletRequest 对象中,
         其目的是为了解除控制器与容器的耦合。
     */
    @RequestMapping("/loginMap")
    public String showLogin2(HttpServletRequest request, Map<String, String> map) {
        map.put("msg", "hello showLogin2");
        return "index.jsp";
    }

    /*
    在 SpringMVC 中提供了一个 Model 类型的接口,该接口定义了传递数据的基本行为。
    如果在处理请求的方法中指定了Model类型的参数,
    那么SpringMVC注入一个BindingAwareModelMap对象,
    并通过该对象把数据放入到 HttpServletRequest 对象中。
     */
    @RequestMapping("/loginModel")
    public String showLogin3(HttpServletRequest request, Model model) {
        model.addAttribute("msg", "loginModel");
        return "index.jsp";
    }

    @RequestMapping("/showsession")
    public String showLogin4(HttpServletRequest request) {
        HttpSession session = request.getSession();
        session.setAttribute("msg", "hello session1");
        return "index.jsp";
    }

    @RequestMapping("/showsession2")
    public String showLogin5(HttpSession session) {
        session.setAttribute("msg", "hello session2");
        return "index.jsp";
    }

    @RequestMapping("/application")
    public String showLogin6(HttpSession session) {
        ServletContext servletContext = session.getServletContext();
        servletContext.setAttribute("msg", "hello servletContext");
        return "index.jsp";
    }
}
posted @ 2023-01-14 16:00  jsqup  阅读(9)  评论(0编辑  收藏  举报