控制器层

需求分析:

访问路径:`/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`的配置是否正确,它是用来扫描控制器的。

注册页面的JSON响应方式详细分析(与前端页面交互方式之一)的更多相关文章

  1. 将ECSHOP会员注册页面的Email修改成非必填项

    将ECSHOP会员注册页面的Email修改成非必填项 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2011-07-29   有人说,在后台的 “会员注册项设置 ”里面 ...

  2. 7月2日 Django注册页面的form组件

    forms.py里注册页面的form组件 # Create your views here. class RegForm(forms.Form): username = forms.CharField ...

  3. 页面的div中有滚动条,js实现刷新页面后回到记录时滚动条的位置

    当div中绑定数据,给它一个属性overflow-y: scroll,添加长度大小,使其能够出现滚动条:每次刷新的时候滚动条总是会出现在最上方,这使我很头疼,经过查阅网上资料,返现两种方法可行.如下: ...

  4. jQuery-Ajax请求Json数据并加载在前端页面,附视频教程讲解!

    Ajax技术应用广泛,这种异步加载技术,无需刷新网页即可更新网站内容,全局或者局部均可,所以大家应该学会这种技巧,把技术用上来. 创建demo.json文件,用来做数据源: {     "t ...

  5. 【转】Android中实现IPC的几种方式详细分析及比较

    1.使用Bundle   ----> 用于android四大组件间的进程间通信android的四大组件都可使用Bundle传递数据  所以如果要实现四大组件间的进程间通信 完全可以使用Bundl ...

  6. JavaWeb网上图书商城完整项目--24.注册页面的css样式实现

    现在框架已经做好了,即下来我们要对页面进行装饰了,第一步给每一个元素添加id 1.最外面的div添加id为divMain 2.第二个div添加id为divTitle,里面的span对应的id为span ...

  7. 注册页面的servlet

    package cn.itcast.travel.web.servlet;import cn.itcast.travel.domain.ResultInfo;import cn.itcast.trav ...

  8. mutillidae之注册页面的Insert型报错注入

    http://127.0.0.1/mutillidae/index.php?page=register.php 1.注册一个用户试一试,发现页面只提示用户注册成功信息,并五其它可回显信息,果断尝试盲注 ...

  9. 注册页面的js验证

    简单的用户注册页面:(html) 包含用户名格式验证.邮箱格式验证.确认密码一致性验证和必填项验证.(纯javascript) <center> <h1>用户注册</h1 ...

随机推荐

  1. Python重要网址

    极客学院视频:http://www.jikexueyuan.com/path/python/ 知乎爬虫:https://www.zhihu.com/collection/129856874?page= ...

  2. zabbix 配合钉钉群机器人(webhook) 报警

    首先建钉钉群,添加一个自定义机器人拿到webhook zabbix添加一个报警媒介 搞一个shell脚本来启动Python脚本(直接用zabbix调Python脚本不行,不知道什么原因) vim di ...

  3. [LeetCode] 566. Reshape the Matrix_Easy

    In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...

  4. nvm(Node Version Manager)管理node版本

    nvm全称Node Version Manager是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换. nvm 的官方版本只支持 Linux 和 Mac. Windows ...

  5. 安装python sklearn经验总结

    1. 需要安装 numpy, scipy, 和sklearn和ipython,Cython sklearn,ipython, Cython都可以通过pip来安装.但scipy,可能还有numpy必须通 ...

  6. Repeater 中TextBox 触发TextChanged事件

    两种方法 1.TextBox 绑定TextChanged 并设置AutoPostBack ="true" ,如果不设置AutoPostBack ="true"则 ...

  7. Charles 安装图解(Mac 抓包工具)

    概述 Fidder使用C#开发的,所以就不能在Mac上使用了,不过还有另外一个抓包神器,就是Charles,它是Java开发的,所以跨平台,不仅可以在Mac上使用,Linux以及Window下都是可以 ...

  8. cocos2dx JS 游戏切到后台再进入游戏的处理

    由于Cocos引擎中,游戏切入后台后定时器后停掉会让某个Animation动作停止. 导致当重新进入游戏时,看到的不是你想要的画面.或者定时器倒计时的时间对不上等问题. cc.game.EVENT_H ...

  9. RSA加解密 私钥加密公钥解密 私加公解 && C++ 调用openssl库 的代码实例

    前提:秘钥长度=1024 ============================================== 对一片(117字节)明文加密  私加 ===================== ...

  10. python爬虫-基础入门-爬取整个网站《3》

    python爬虫-基础入门-爬取整个网站<3> 描述: 前两章粗略的讲述了python2.python3爬取整个网站,这章节简单的记录一下python2.python3的区别 python ...