控制器层

需求分析:

访问路径:`/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. Java知识点ArrayList

    ArrayList List<ApiSvcVersion> apiSvcVersionList = apiSvcVersionDao.getListByClientId(map1); // ...

  2. WinRAR 5.40 & 4.20 & 3.93 的注册码 - rarreg.key

    把下面的数据复制到“记事本”中,用文件名“rarreg.key”命名该文件,保存到WinRAR安装文件夹即完成注册. 以下4个Key随便选一个复制都可以. WinRAR 5.40 版Key,复制箭头中 ...

  3. MyBatis基础入门《十七》动态SQL

    MyBatis基础入门<十七>动态SQL 描述: >> 完成多条件查询等逻辑实现 >> 用于实现动态SQL的元素主要有: > if > trim > ...

  4. node中中间件body-parser的实现方式

    最近学习了Koa框架中用到了koa-bodyparser接收表单POST请求的参数,直接使用其API是很容易的,但却不知道其原生方法怎么实现的.故做些笔记 首先,是搭建了Koa的服务器不再赘述 其次, ...

  5. Ajax技术之使用XMLHttpRequest对象(一)【初始化XMLHttpRequest对象】

    在初始化XMLHttpRequest对象时要考虑两种情况,一种是IE浏览器,另一种是非IE浏览器.在IE浏览器中要把XMLHttpRequest实例化一个ActiveX对象 http_request ...

  6. SQLConnect

    SQLConnect 函数定义: 这个函数就是与数据库建立连接 SQLRETURN SQLConnect( SQLHDBC     ConnectionHandle, SQLCHAR *     Se ...

  7. redis 知识点

    默认端口  6379 单个value 最大可以保存1G 默认RDB(异步刷盘方式) 禁用持久化修改redis.conf,找到save配置,改为save "" 即可 1. 特点 Re ...

  8. sublime text3 增加代码片段(snipper)

    有时候编写代码时有些代码片段经常会用到,如果能将这些代码片段整理,再在需要的时候通过某些条件触发,那无疑是非常方便的! 创建方法:工具->插件开发->新建代码片段 默认产生的内容是: &l ...

  9. 如何在Sitecore CMS中创建没有标准字段的模板

    当创建一个模板,Sitecore的将默认为扩大“标准模板”,它位于/sitecore/templates/System/Templates. 如果您选择不扩展任何模板或从“基本模板”字段中删除标准模板 ...

  10. CSS小知识-----前缀-moz-、-ms-、-webkit-,-o-分别代表的意思

    这种方式在业界上统称:识别码.前缀 -ms-代表[ie]内核识别码 -moz-代表火狐[firefox]内核识别码 -webkit-代表谷歌[chrome]/苹果[safari]内核识别码 -o-代表 ...