zoukankan      html  css  js  c++  java
  • 注册页面的JSON响应方式详细分析(与前端页面交互方式之一)

    控制器层

    需求分析:

    访问路径:`/user/reg.do` //自己根据功能需求设定的
    请求参数:`username=xx&password=xx&&phone=xx&email=xx` //根据注册页面的输入框设定
    请求类型:`POST`
    响应内容:`JSON` //响应的json字符串 八月27日,15:00

    在`pom.xml`中添加对`Jackson`的依赖:

    <!-- jackson -->
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.6</version>
    </dependency>

    创建专门用于响应给客户端的JSON数据的类`cn.tedu.store.entity.ResponseResult`

    public class ResponseResult<T> {
    
    private Integer state; // 成功(1)或失败(0)
    private String message; // 仅当失败时封装错误信息
    private T data; // 数据 如果类中使用了泛型,则类的声明也要用泛型。
    
    // 其它标准做法

    泛型的使用场景:一般是绑定某种数据类型如果不是则报错,另外当某个类型,若并不确定时候就可以用泛型,如上所示。

    //学习方法:先看书,有问题,针对问题,看别人写的博客,再有问题可以针对性地看某些优秀的视频。

    创建控制器类`cn.tedu.store.controller.UserController`,使用`@Controller`注解,并添加`@RequestMapping("/user")`注解。

    在这个类中添加`public ResponseResult<Void> handleReg()`方法以处理请求,该方法使用`@RequestMapping(value="/reg.do", method=RequestMethod.POST)`注解,并添加`@ResponseBody`注解。

    说明:ResponseResult<Void>是返回来响应内容,其中value="/reg.do" 路径, method=RequestMethod.POST请求方式,这是post请
             求的写法,不能用get请求的写法。
             用`@RequestMapping("/reg.do")`注解,既能接受post请求,也能接受post请求的一种写法。
             其中,@ResponseBody这个注解,如果响应方式既不是转发也不是重定向,那么就要用这个注解,它表示响应并给客户端的是某些具体数据内容,而不是某个页面,那么它就不会走视图解析器(spring-mvc.xml中配置的)过。
             一般转发或重定向返回类型是String类型的。
             不管返回类型是什么,不关心且无意义的,则用Void类型,这种类不可以有子类,用final修饰的,看源码。

    说明:检查`spring-mvc.xml`的配置是否正确,它是用来扫描控制器的。

    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
    赶集个人 车源推送到 58
    fsockopen get,post 封装 (转)
    php write excel
    《HTTP协议详解》读书笔记---请求篇之消息报头
    《HTTP协议详解》读书笔记---请求篇之响应状态码
    《HTTP协议详解》读书笔记---请求篇之情求方法
    高效使用 GNOME Files(Nautilus) 管理文件
    手机无法连接 GSConnect:防火墙未开放端口
    Ubuntu 上安装 ArtiPub(一款开源的一文多发平台)
    GNOME 桌面必备扩展(GNOME Shell Extensions)
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/9652282.html
Copyright © 2011-2022 走看看