目录

完整代码在这

一、获取请求参数

Spring获取请求参数非常简单,只要用到 @RequestParam 注解就可以了

如果不指定请求method的话,无论是get还是post参数都可以轻易获取到

代码是下面这样:

package com.learn.springMVCDemo;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;@Controller
public class RequestController {@RequestMapping("requestDemo")public String doRequest(Model model, @RequestParam(name="info", defaultValue = "some information") String info) {model.addAttribute("info", info);return "hello";}
}
复制代码

在这段代码中 @RequestParam 注解的括号中 name表示参数名, defaultValue 指明默认的参数值。

GET方法请求这个页面: 访问地址 http://localhost:8080/LearnSpringMVCDemoFirst_war/requestDemo?info=helloWorldFromGETMethod

运行效果:

POST方法请求这个页面:

访问地址 http://localhost:8080/LearnSpringMVCDemoFirst_war/

提交表单

运行结果

二、页面重定向

重定向的时候只要在返回的时候加上 redirect 就可以了:

package com.learn.springMVCDemo;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class RedirectController {@RequestMapping("redirect")public String redirectDemo(Model model) {model.addAttribute("message", "redirectInfo");//重定向return "redirect:/demo";}}
复制代码

上面的代码就是重定向到 /demo页面了。

访问地址: localhost:8080/LearnSpringMVCDemoFirst_war/redirect

三、获取URI路径(@PathVariable)

package com.learn.springMVCDemo;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;@Controller
public class PathVariableController {@RequestMapping("path/{prefix}/{name}/{suffix}")public ModelAndView PathDemo(Model model,@PathVariable(value = "prefix") String prefix,@PathVariable(value = "name") String name,@PathVariable(value = "suffix") String suffix) {ModelAndView mv = new ModelAndView("hello");mv.addObject("message","website URI path");model.addAttribute("prefix", prefix);model.addAttribute("name", name);model.addAttribute("suffix", suffix);return mv;}}
复制代码

@RequestMapping的括号中固定一个以上的路径名称,然后给分固定的路径名称直接加上大括号,在请求映射的方法参数中加上 @PathVariable注解的参数中,按照先后顺序一一对应就可以获取到路径名称。

运行结果:

四、不返回视图直接返回字符串

@RequestMapping("ResponseBody")
@ResponseBody
public String RequestBody() {return "request body message!!!";
}
复制代码

在请求映射方法前直接加上 @ResponseBody注解,那么返回的就不是视图,而直接是ResponseBody

运行结果:

Spring入门学习手册 6:Spring MVC基础中的基础相关推荐

  1. Spring入门学习手册 1:最简单的反转控制

    Spring入门学习手册 1:最简单的反转控制 一.什么是Javabean 看到的一个比较专业的解释是: JavaBean定义了一组规则 JavaBean就是遵循此规则的平常的Java对象 JavaB ...

  2. Spring入门学习手册 2:怎么用注解来DI/IOC

    目录 一.如果使用注解的话,在配置文件中应该做什么? 在beans标签后加上一个 <context:annotation-config/> 复制代码 标签来声明将要使用注解就可以了. &l ...

  3. Spring Cloud学习笔记—网关Spring Cloud Gateway官网教程实操练习

    Spring Cloud学习笔记-网关Spring Cloud Gateway官网教程实操练习 1.Spring Cloud Gateway介绍 2.在Spring Tool Suite4或者IDEA ...

  4. Altium Designer入门学习笔记4:PCB设计中各层的含义

    Altium Designer入门学习笔记4:PCB设计中各层的含义 阻焊层:solder mask,是指板子上要上绿油的部分:因为它是负片输出,所以实际上有solder mask的部分实际效果并不上 ...

  5. 先来先服务算法代码_程序员算法与数据结构基础中的基础,栈与递归

    在此之前,我们介绍了动态规划.深度优先搜索等基础算法,但是,有部分好友评论说,难度太难了,我们知道动态规划的自顶向下跟深度优先搜索一般都用递归实现,今天我们就先来讲讲算法与数据结构中,基础中的基础递归 ...

  6. ssm插入数据时候栈溢出_程序员算法与数据结构基础中的基础,栈与递归

    在此之前,我们介绍了动态规划.深度优先搜索等基础算法,但是,有部分好友评论说,难度太难了,我们知道动态规划的自顶向下跟深度优先搜索一般都用递归实现,今天我们就先来讲讲算法与数据结构中,基础中的基础递归 ...

  7. SQL数据库基础中的基础

    SQL数据库基础中的基础 1.数据库操作 0.0 提前准备 再开始操作之前,需要有数据库,如果没有安装的可以看我上一篇的内容.以下所有操作均在数据库上操作. 1.1 DDL操作 1.1.1 数据库操作 ...

  8. Spring 入门学习二之IOC

    今天来学习Spring ioc . 一.spring jar 包导入 在 spring 官网下载开发包 spring-framework-4.2.4.RELEASE,然后导入需要的 jar 包到项目 ...

  9. Spring框架学习笔记(1) ---[spring框架概念 , 初步上手使用Spring , 控制反转 依赖注入初步理解 ]

    spring官网 -->spring官网 spring5.3.12–>spring-framework 在线文档 --> Spring 5.3.12 文章目录 1.Spring概论 ...

最新文章

  1. printf输出16进制数
  2. 2018.3.10 模拟赛——(2)给出字符串
  3. 软件设计师17-网络基础知识
  4. Recursive implementation of the Gaussian filter[翻译]
  5. java水电费收费系统_基于jsp的电费管理系统-JavaEE实现电费管理系统 - java项目源码...
  6. 一加手机刷入第三方Rec
  7. 异常 未解决 dubbo 打包 使用将所有的文件打在一个包内 会报错误
  8. html5 video js 播放,H5播放HLS之videojs播放视频
  9. 相亲app开发,解决内存循环引用的问题
  10. 如何建立有效的激励机制
  11. Linux下移动anaconda虚拟环境的位置
  12. MySQL 8.0 可以操作 JSON 了!!
  13. oracle创建和删除表空间,oracle 表空间创建和删除
  14. asp毕业设计——基于asp+access的学生成绩查询系统设计与实现(毕业论文+程序源码)——成绩查询系统
  15. 如何利用校园邮箱免费使用IDEA
  16. java校招我的归纳总结
  17. linux运行checkra1n视频,CheckRa1n是什么软件?CheckRa1n使用方法
  18. shmget 共享内存 同步读写文件一个进程写,多个进程读,读和写同步,边写边读
  19. 使用 EasyExcel 读取和下载 excel 文件
  20. 小程序填写银行卡号 输入4位自动加入空格符

热门文章

  1. js 取get过来的数据
  2. iOS多任务:suspend VS terminate
  3. locate: command not found updatedb: command not found
  4. 接口测试-使用mock生产随机数据
  5. matlab predict函数并行,Matalb 智能算法第29个案例运行报错问题
  6. @scheduled 执行一次_Spring Boot 定时任务 @Scheduled
  7. ceph auth get boostrap-osd_那些某橙色软件都能GET到手的有文凭粗粮 速速前来种草
  8. 为什么学习前端的人越来越多?
  9. Web前端求职必备 常见前端面试题汇总(二)
  10. 转型HTML5前端工程师怎样学才能拿高薪?