SpringMVC之请求响应(上)
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之请求响应(上)的更多相关文章
- ajax和springmvc的请求响应原理——深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法
1,四大重要部分: 请求链接 post请求和get请求 请求参数形式 响应内容形式 2,从springmvc的controller角度,controller能接收到请求的前提 请求链接必须对应 pos ...
- Spring系列 SpringMVC的请求与数据响应
Spring系列 SpringMVC的请求与数据响应 SpringMVC的数据响应 数据响应的方式 y以下案例均部署在Tomcat上,使用浏览器来访问一个简单的success.jsp页面来实现 Suc ...
- springMvc REST 请求和响应
前言: 突然怎么也想不起来 springMvc REST 请求的返回 类型了! (尴尬+究竟) 然后本着 方便的想法 百度了一下 发现了个问题,大家在写 springMvc RES ...
- SpringBoot对比SpringMVC,SpringMVC 处理请求过程
(问较多:1.SpringBoot对比SpringMVC.2.SpringMVC 处理请求过程.问:springboot的理解 Spring,Spring MVC,Spring Boot 三者比较 S ...
- Spring(六)SpringMVC的数据响应
SpringMVC的请求和响应 SpringMVC的数据响应 01-SpringMVC的数据响应-数据响应方式(理解) 1) 页面跳转 直接返回字符串 通过ModelAndView对象返回 2) ...
- SpringMVC探秘-请求之路
SpringMVC探秘-请求之路 开始 今天来分析一下SpringMVC的原理,探究SpringMVC如何把请求传递到每个Controller的方法上,从Servlet到Controller,一个请求 ...
- HTTP协议请求响应过程和HTTPS工作原理
HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. 服务器按照一定规则,发送到客户端(一般是浏览器)的传送通信协议.与之类似的还有文件传送协议(file transfer p ...
- 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式
一: WCF的服务端与客户端在通信时有三种模式:请求响应模式.数据报模式和双工通讯模式. 说一下基本知识, 1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契 ...
- BizTalk开发系列(三十)单向端口实现请求-响应
BizTalk本质上是异步的消息处理引擎.BizTalk的请求与响应模式是基于异步之上的同步消息交换.消息引擎通过消息的扩展架构链接许 多异步消息,消息的相关集关联请求与响应消息.例如,客户端发送一个 ...
随机推荐
- luffy项目:基于vue与drf前后台分离项目(1)
""" 1.业务逻辑:登录注册 - 主页(基础信息展示) - 课程页(复杂信息展示)- 课程订单生产与支付 - 上线订单生成 2.实际项目开发的技术点: git版本控制 ...
- Maven--Maven 入门
1.POM <?xml version="1.0" encoding="utf-8" ?> <project xmlns="http ...
- myeclipse跟tomcat的同步
一般来说,我们在myeclipse里把文件内容改了并保存之后,直接刷新网页就可以非常直观的看到内容的改变. 这是因为myeclipse检测到文件内容的变动,及时地把新的文件部署到了tomcat上. m ...
- github新手使用教程
1.首先打开https://github.com/官网 注册一个github账号 2.注册成功之后,登录账号,创建一个属于自己的库 3.创建完成之后,为了方便电脑上的代码上传到github 仓库上,要 ...
- ES6之模块化
本文介绍ES6实现模块化的方法:使用import和export. 导入的时候需不需要加大括号的判断:1.当用export default people导出时,就用 import people 导入(不 ...
- Python笔记_第三篇_面向对象_5.一个关于类的实例(人开枪射击子弹)
1. 我们学了类的这些东西,用这些类我们来操作一个关于类的实例. 2. 题目:人开枪射击子弹,然后具有装弹动作,然后再开枪. 第一步:设计类: 人类名:Person属性:gun行为:fire,fill ...
- 【iOS入门】UITableView加载图片
学习带图片的列表 官方 LazyTableImages demo http://download.csdn.net/detail/jlyidianyuan/5726749 分析源码是学习的好方法. ...
- java去掉数字后面的0
有些财务业务场景是需要把数字多余的0去掉的. 可以这么写 private String getRealData(BigDecimal num) { if (num == null) { return ...
- Docker容器化【Dockerfile编写&&搭建与使用Docker私有仓库】
# Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...
- Java快速输入输出
一.StreamTokenizer实现快速输入 需要的jar包 import java.io.BufferedReader;import java.io.IOException;import java ...