1.OutPutController

package com.tz.controller;

import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; @Controller
@RequestMapping("/output")
public class OutPutController { /**
* springmvc除了用servlet的session和request之外还能怎样把数据放哪进行转储
*
* 1.可以在方法参数的位置上传入Map,model,ModelMap三种类型的任意一种参数
* ,往对象中保存数据,都会放到域对象(request)中,可以从页面获取
* BindingAwareModelMap
*
* Map,model,ModelMap,最终都是BindingAwareModelMap再操作,相当于BindingAwareModelMap中,
* 保存的数据都会被放在request的域对象中
*
* Map<jdk> Model<spring> ModelMap<spring>
* |
* 都实现map接口
*
*
* 2.springmvc支持把方法的返回值类型设置ModelAndView类型
*
* @return
*/ @RequestMapping("/handle01")
public String handle01(Map<String,Object> map){
map.put("msg","你好");//map会存在request域对象中
System.out.println("map的类型:"+map.getClass());
return "success";
} @RequestMapping("/handle02")
public String handle02(Model model){
model.addAttribute("msg","你吃饭了吗");
System.out.println(model.getClass());
return "success";
} @RequestMapping("/handle03")
public String handle03(ModelMap modelMap){
modelMap.addAttribute("msg","ModelMap");
System.out.println(modelMap.getClass());
return "success";
} /**
* ModelAndView:既包含视图信息(页面地址),也包含模型数据(给页面带的数据)
* 而且最终数据也是存在request域对象中
* @return
*/ @RequestMapping("/handle04")
public ModelAndView handle04(){
//构造方法传入jsp名字,springmvc中的视图解析器会帮助我们进行拼接字符串得到页面的真实地址
// ModelAndView view = new ModelAndView("success");//第一种设置视图的方法
ModelAndView view = new ModelAndView();//第二种设置视图的方法
view.setViewName("success");
//保存数据
view.addObject("msg","awslDnmd");//保存在request域名里去
return view;
}
}

  2.output.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body> <a href="output/handle01">outPut1</a><br/>
<a href="output/handle02">outPut2</a><br/>
<a href="output/handle03">outPut3</a><br/>
<a href="output/handle04">outPut4ModelAndView</a><br/> </body>
</html>

  3.success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body> <h1>success</h1> <%-- request:${requestScope.request}<br/>
session:${sessionScope.session} --%> pageContext:${pageScope.msg}<br/>
request:${requestScope.msg}<br/>
session:${sessionScope.msg}<br/>
application:${applicationScope.msg}<br/> </body>
</html>

  总结:

为啥model,modelMap,modelAndView数据都存在request域对象中?

2.为啥能够访问success.jsp

SpringMVC之请求响应(上)的更多相关文章

  1. ajax和springmvc的请求响应原理——深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法

    1,四大重要部分: 请求链接 post请求和get请求 请求参数形式 响应内容形式 2,从springmvc的controller角度,controller能接收到请求的前提 请求链接必须对应 pos ...

  2. Spring系列 SpringMVC的请求与数据响应

    Spring系列 SpringMVC的请求与数据响应 SpringMVC的数据响应 数据响应的方式 y以下案例均部署在Tomcat上,使用浏览器来访问一个简单的success.jsp页面来实现 Suc ...

  3. springMvc REST 请求和响应

    前言: 突然怎么也想不起来  springMvc REST 请求的返回  类型了!   (尴尬+究竟)  然后本着 方便的想法 百度了一下 发现了个问题,大家在写      springMvc RES ...

  4. SpringBoot对比SpringMVC,SpringMVC 处理请求过程

    (问较多:1.SpringBoot对比SpringMVC.2.SpringMVC 处理请求过程.问:springboot的理解 Spring,Spring MVC,Spring Boot 三者比较 S ...

  5. Spring(六)SpringMVC的数据响应

    SpringMVC的请求和响应 SpringMVC的数据响应 01-SpringMVC的数据响应-数据响应方式(理解) 1)    页面跳转 直接返回字符串 通过ModelAndView对象返回 2) ...

  6. SpringMVC探秘-请求之路

    SpringMVC探秘-请求之路 开始 今天来分析一下SpringMVC的原理,探究SpringMVC如何把请求传递到每个Controller的方法上,从Servlet到Controller,一个请求 ...

  7. HTTP协议请求响应过程和HTTPS工作原理

    HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. 服务器按照一定规则,发送到客户端(一般是浏览器)的传送通信协议.与之类似的还有文件传送协议(file transfer p ...

  8. 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式

    一: WCF的服务端与客户端在通信时有三种模式:请求响应模式.数据报模式和双工通讯模式. 说一下基本知识,  1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契 ...

  9. BizTalk开发系列(三十)单向端口实现请求-响应

    BizTalk本质上是异步的消息处理引擎.BizTalk的请求与响应模式是基于异步之上的同步消息交换.消息引擎通过消息的扩展架构链接许 多异步消息,消息的相关集关联请求与响应消息.例如,客户端发送一个 ...

随机推荐

  1. oracle学习笔记(六)——函数&存储过程的异同

    我看的书上除了能看出来函数有返回值,存储过程没有,其他啥也看不出来... 网上大大的总结

  2. redis day03 下

    事务 能够有回退状态 事务命令 安命令执行没问题,redis是弱事务型 nulti incr n1   -->QUEUED(返回仅队列了) EXEC -->返回结果 pipeline 流水 ...

  3. 数据库T-SQL语言操作(T-SQL语句、数据库、表、视图、索引)

    T-SQL语言 按用途分四部分 数据定义语言(CREATE,DROP,ALTER) 数据操作语言(INSERT,DELETE,UPDATE) 数据查询语言(SELECT) 数据控制语言(GRANT,R ...

  4. 吴裕雄--天生自然 JAVA开发学习:异常处理

    try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 } import java.io.*; public class ExcepTest{ publi ...

  5. Xshell便捷设置实现linux复制粘贴

    说明:在window系统中,Ctrl+C是复制的快捷键,Ctrl+V是粘贴的快捷键,但在xshell中,Ctrl+C 代表着中断当前指令. 解决办法如下: 1.  使用xshell中的复制粘贴快捷键复 ...

  6. lambda concurrent List<Map> to Map

    Object c = Stream.of( CompletableFuture.supplyAsync(() -> { Map m = new HashMap(); try { Thread.s ...

  7. Java复习(五)接口与多态

    5.1接口 允许创建者规定方法的基本形式:方法名.参数列表以及返回类型,但不规定方法主体. 也可以包含基本数据类型的数据成员,但他们都默认为static和final 声明格式为 [接口修饰符]inte ...

  8. AD中导出所有计算机的(计算机名+操作系统类型)

    要想用powershell管理域,首先先加载activedirectory模块 PS C:\> import-module activedirectory 下面就可以利用get-adcomput ...

  9. Uncaught TypeError: Cannot read property 'querySelector' of null

    报错. 解决办法:把报错部分的js放到body后面

  10. vue实现动态绑定class--多个按钮点击一个有一个

    <template> //v-for循环出来多个按钮,便于获取index         <span v-for="(item,index) in list" : ...