作用域范围

对象名称 作用范围
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作用域传值的更多相关文章

  1. SpringMVC作用域传值几种方式

    一.SpringMVC 作用域传值的几种方式 1  使用原生Servlet 1.1 在 HandlerMethod 参数中添加作用域对象 1.1.1 ServletContext不能在方法参数中获取, ...

  2. SpringMVC 接受请求参数、作用域传值

    目录 原生servlet接收参数 Spring MVC最基础的参数获取 接收基本数据类型参数 方法参数列表和请求参数不一致的处理方式 接收对象引用数据类型 接收复选框这种多个同名的参数 接收obj.f ...

  3. springMVC中传值的时候的乱码问题

    springMVC在传值的时候有时候回出现中文乱码的情况.有一种可能就是service的设置的问题. 打开工程中的tomcat中的servers 打开上述文件,找到下面并加上红色字体 <Conn ...

  4. 【springmvc】传值的几种方式&&postman接口测试

    最近在用postman测试postman接口,对于springmvc传值这一块,测试了几种常用方式,总结一下.对于postman这个工具的使用也增加了了解.postman测试很棒,有了工具,测试接口, ...

  5. struts2-01:作用域传值

    方式一.使用ServletActionContext(耦合度高,不建议使用) public String login(){ ServletActionContext.getRequest().getS ...

  6. SpringMVC页面传值

    public ModelAndView query(){ ModelAndView modelAndView = new ModelAndView(); List list = new ArrayLi ...

  7. springMvc前后台传值各种情况

    本文转载至:https://blog.csdn.net/pangliang_csdn/article/details/52486787 以后自述...

  8. springmvc ajax传值详解

  9. Maven搭建SpringMVC+Hibernate项目详解 【转】

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

  10. springMVC配置步骤

    所用的工具为eclipse for javaEE,tomcat 8.0 1.导入jar包 把以上的jar包全部复制到项目的WebContent/WEB-INF/lib目录中 2.在webContent ...

随机推荐

  1. 个别编程语言在OJ平台上的输入输出方式

    OJ 平台输入输出 一. C/ C++ 输入 scanf() gets() getchar() 输出 printf() puts() putchar() C++ cin >> cout & ...

  2. SQLSERVER 事务日志的 LSN 到底是什么?

    一:背景 1. 讲故事 大家都知道数据库应用程序 它天生需要围绕着数据文件打转,诸如包含数据的 .mdf,事务日志的 .ldf,很多时候深入了解这两类文件的合成原理,差不多对数据库就能理解一半了,关于 ...

  3. 半个前端新手入门Electron的过程

    前言 先说几句废话,本人是一名 web 后端开发,主语言是 java,在学 Electron 之前,只会一点点 HTML和 JavaScript.本文讲的也是我学习 Electron 的过程,而非教程 ...

  4. Longbow.Tasks

    Longbow.Tasks 概述 大体分为了Scheduler(调度任务),Storage(持久化),Trigger(触发器),Task(任务)和逻辑模块,大体流程为通过逻辑代码进行实例化相关类,根据 ...

  5. springboot输出json日志

    <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-lo ...

  6. 简单了解C语言如何构建多文件项目

    简单理解C语言如何构建工程 首先我们最好有一个好用的编辑器,vscode也好,visual studio也罢,dev也行,这里我们使用的是code::block: 一.了解C语言工程的构建原理 ​ 首 ...

  7. python字典生成式,列表生成式

    list1 = [1,2,3,4,5] list2 = ['a','b','c','d','e'] {k: v for k, v in zip(list1, list2)} # {1:'a',2:'b ...

  8. 用ChatGPT来了解ChatGPT

    用ChatGPT来了解ChatGPT 之前学习一个新技术, 想着要搞清楚这6个问题(来自陈皓介绍的学习方法): 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的问题. 2.这个技 ...

  9. 无法从“System.ReadOnlyMemory<byte>”转换为“byte[]”

    1.问题复现 RabbitMQ的官方示例:RabbitMQ消费端(接收端)获取消息时抛出异常,具体代码如下 var consumer = new EventingBasicConsumer(chann ...

  10. 如何通过C#/VB.NET代码在Word中更改字体颜色

    在日常工作中,我们有时会需要修改字体的颜色来突出文本重点,让读者更容易抓住文章要点.在今天这篇文章中,我将为大家介绍如何以编程方式,在Word更改字体颜色.本文将分为两部分分别介绍如何实现此操作.以下 ...