- Spring集成Web的步骤:
- 导入坐标(spring-web.jar)
- 创建监听器(实现SerletContextListener)
- 在web.xml中配置监听器
- 抽出一个工具:帮我们获取applicationContext
- 配置spring.xml
- 完成测试
- SpringMVC的优点:
- 将所有的Servlet的任务交给一个前端控制器来完成。
- springMVC的执行流程:
- 创建SpringMVC入门Demo步骤:
- 导入坐标
- 配置DispaterServlet
- 创建Contoller和视图
- 配置一个路径关系(@RequestMapping)
- 配置spring-mvc.xml
- 视图访问前缀后缀配置:
- 在ViewResolver中配置prefix ,suffix属性
- 在最前面有两个配置:
- forward:转发(默认)
- redirect:重定向 redirect:success.jsp
### 2 今日目标
#### 2.2.1能够完成springmvc的数据响应【+++++】
- 页面跳转
- 返回带有前缀的字符串:
- 转发:**return forward:****index.jsp**
- 内部资源访问
- /WEB-INF/views/
- 重定向:**return redirect:/****index.jsp**
- 浏览器直接输入地址访问
- 外部请求访问
- 因为WEB-INF是受保护的资源所以不能被外部请求直接访问
- 回写数据
- @ResponseBody 告诉Spirngmvc框架,该方法直接返回数据不进行页面跳转
- JSON数据返回:
- @ResponseBody
- 在xml中配置注解驱动:<mvc:annotation-driven/>
#### 2.2.3 能够完成springmvc的请求参数的获取【+++++】
- 各种请求参数类型获取介绍【+++++】
- 基本类型参数:
- 参数格式:key&vlaue
- 请求路径中的参数名字要和方法参数的名字一致
- http://localhost:8080/quick/?username="xxx"&age=12
- POJO类型参数
- 参数格式:key&vlaue
- 请求路径中的参数名字要和POJO的属性名字一致
- 数组类型参数
- 参数格式:key&vlaue
- 请求路径中的参数名字要和方法数组参数的名字一致
- http://localhost:8080/quick/?aa="游戏"&& aa ="篮球"&& aa"rap"
- 集合类型参数
- form表单提交的集合数据
- 参数格式:key&vlaue
- userList[0].username=zhangsan&userList[0].age=10&userList[1].username=lishi&userList[1].age=20
- ajax提交提交的集合数据[+++++]
- 参数格式:json
- [{"username":"zhangsan","age":18},{"username":"lisi","age":28}]
- 在参数上添加注解:@RquestBody
- 注意:spring mvc 默认参数接受格式为:key&value
- RESTFul风格的请求路径【++++】
- 一种url请求路径设计风格
- 特点:
- url路径是面向资源,同时要具体化资源:user
- 在url里不能有动词(约束)
- 动词用请求方式代替:
- get:获取资源
- post:增加资源
- put:修改资源
- delete:删除资源
- 可以在请求路径中传递参数
- 例子:
- 添加用户:项目名/user
- 请求方式:Post
- 修改id为1的用户:项目名/user/1
- 请求方式:put
- 获取参数:
- RequestMapping("/user/{id}")
- 在方法的参数中添加一个注解:@PathVariable("id")
- 删除id为2的用户:项目名/user/2
- 请求方式:delete
- 查询用户:项目名/user/list
- 请求方式:get
- 特殊场合,必须有动词:
- 登录:login
- 下载: download
### 3 上午总结
- 数据响应
- 页面跳转
- 返回字符串
- 返回ModelAndView
- 回写数据
- return 字符串
- @ResponseBody
- return 对象或者集合
- 转换成json
- @ResponseBody
- 在xml中配置注解驱动:
- ```
<mvc:annotation-driven/>
``` |
|