复习第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";
}
}
复习第6点-6.SpringMVC作用域传值的更多相关文章
- SpringMVC作用域传值几种方式
一.SpringMVC 作用域传值的几种方式 1 使用原生Servlet 1.1 在 HandlerMethod 参数中添加作用域对象 1.1.1 ServletContext不能在方法参数中获取, ...
- SpringMVC 接受请求参数、作用域传值
目录 原生servlet接收参数 Spring MVC最基础的参数获取 接收基本数据类型参数 方法参数列表和请求参数不一致的处理方式 接收对象引用数据类型 接收复选框这种多个同名的参数 接收obj.f ...
- springMVC中传值的时候的乱码问题
springMVC在传值的时候有时候回出现中文乱码的情况.有一种可能就是service的设置的问题. 打开工程中的tomcat中的servers 打开上述文件,找到下面并加上红色字体 <Conn ...
- 【springmvc】传值的几种方式&&postman接口测试
最近在用postman测试postman接口,对于springmvc传值这一块,测试了几种常用方式,总结一下.对于postman这个工具的使用也增加了了解.postman测试很棒,有了工具,测试接口, ...
- struts2-01:作用域传值
方式一.使用ServletActionContext(耦合度高,不建议使用) public String login(){ ServletActionContext.getRequest().getS ...
- SpringMVC页面传值
public ModelAndView query(){ ModelAndView modelAndView = new ModelAndView(); List list = new ArrayLi ...
- springMvc前后台传值各种情况
本文转载至:https://blog.csdn.net/pangliang_csdn/article/details/52486787 以后自述...
- springmvc ajax传值详解
- Maven搭建SpringMVC+Hibernate项目详解 【转】
前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...
- springMVC配置步骤
所用的工具为eclipse for javaEE,tomcat 8.0 1.导入jar包 把以上的jar包全部复制到项目的WebContent/WEB-INF/lib目录中 2.在webContent ...
随机推荐
- [LeetCode]至少是其他数字两倍的最大数
题目 代码 class Solution { public: int dominantIndex(vector<int>& nums) { vector<int> so ...
- Blazor Hybrid (Blazor混合开发)更好的读取本地图片
在 Blazor Hybrid 应用中,Razor 组件在设备上本机运行. 组件通过本地互操作通道呈现到嵌入式 Web View 控件. 组件不在浏览器中运行,并且不涉及 WebAssembly. R ...
- mongdb遭遇勒索,用备份进行数据恢复
mongdb遭遇勒索,用备份进行数据恢复 1.背景: 某台MongoDB服务器,没有配置用户名密码,放到公网不到一天,遭到删库勒索 All your data is a backed up. You ...
- immutable.js学习笔记(五)----- Set
一.Set 二.API (一)add:添加值 (二)delete:删除值 注意:删除后的Set是无序的 (三)clear:清空并返回新Set (四)union:N个set合并为一个set (五)int ...
- 真正“搞”懂HTTP协议12之缓存代理
我们在前两篇的内容中分别学习了缓存和代理,大致了解了缓存有哪些头字段,代理是如何服务于服务器和客户端的,那么把两者结合起来,代理缓存,也就是说代理服务器也可以缓存,当客户端请求数据的时候,未必一定要追 ...
- 【大型软件开发】浅谈大型Qt软件开发(四)动态链接库的宏冲突问题、COM组件开发的常见问题
最近工作的时候有一个链接库的对接工作,在对接时发生了一些小问题,这篇FAQ是办公室写这个库的工程师戴工写的,这里记录一下: 一.编译工程时报链接错误"不允许dllimport静态数据成员的定 ...
- JAVA虚拟机14 类加载器
1.简介 Java虚拟机设计团队有意把类加载阶段中的"通过一个类的全限定名来获取描述该类的二进制字节流"这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需的 ...
- STM32F4库函数初始化系列:串口DMA接收
1 u8 _data1[4]; 2 void Configuration(void) 3 { 4 USART_InitTypeDef USART_InitStructure; 5 DMA_InitTy ...
- STM32F4寄存器初始化系列:三重ADC——DMA
static void ADC_Init(void) { /********************DMA配置**************************/ DMA2_Stream0-> ...
- Mybatis的缓存与动态SQL
Mybatis的缓存 缓存也是为了减少java应用与数据库的交互次数,提升程序的效率 一级缓存 自带一级缓存,并且无法关闭,一直存在,存储在SqlSession中 使用同一个sqlsession进行查 ...