复习第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";
}
}
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/17051962.html