A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 草莓味的可爱 初级黑马   /  2019-6-6 11:35  /  888 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

- 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/>
          ```

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马