SpringMVC简介及实用接收请求方式
什么是MVC?
在 JavaEE 开发中,几乎全都是基于 B/S (浏览器服务器)架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层。而MVC在表现层!
SpringMVC
全名叫 Spring Web MVC,是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级
Web 框架,属于 SpringFrameWork 的后续产品。
Spring MVC和Struts2一样,都是 为了解决表现层问题 的web框架,它们都是基于 MVC 设计模
式的。这些表现层框架的主要职责就是处理前端HTTP请求。
作用:
1)接收请求
2)返回响应,跳转页面
RESTful风格
REST(Representational State Transfer)
Restful 的优点:它结构清晰、符合标准、易于理解、扩展⽅便。
原有的url设计
localhost:8080/user/queryUserById.action?id=3
有了RESTful 变成:
http://localhost:8080/user/3
RESTful风格即使请求路径相同,但状态操作(get,post,put,delete)不同,都可以请求到想要的接口。
通过项目讲解
一 springmvc-demo
1 传参方式和后台接
请求参数绑定:说白了SpringMVC如何接收请求参数?
- 单个或少数传参法
原servlet接收一个整型参数:
1)String ageStr = request.getParameter(“age”);
2) Integer age = Integer.parseInt(ageStr);
SpringMVC框架对Servlet的封装,简化了servlet的很多操作
SpringMVC在接收整型参数的时候,直接在Handler方法中声明形参即可
@RequestMapping("xxx")
public String handle(Integer age) {
System.out.println(age);
}
注意:
1 参数绑定:取出参数值绑定到handler方法的形参上,传递的参数名和声明的形参名称保持一致
2 对于布尔类型(Boolean)的参数, 请求的参数值只接收true或false,或者1或0
方法参数名和传递参数名不一致呢?
可以使用@RequestParam注解,如
/*
* SpringMVC 接收简单数据类型参数 url:/demo/handle03?id=1
*
* 注意:接收简单数据类型参数,直接在handler方法的形参中声明即可,框架会取出参数值然后绑定到对应参数上
* 要求:传递的参数名和声明的形参名称保持一致
*/