注册页面的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`的配置是否正确,它是用来扫描控制器的。

原文地址:https://www.cnblogs.com/shijinglu2018/p/9652282.html

时间: 2024-07-29 05:31:27

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

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

将ECSHOP会员注册页面的Email修改成非必填项 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2011-07-29 有人说,在后台的 “会员注册项设置 ”里面不是可以控制是否必填吗??我就碰到好几个人这么说过.其实是他看问题不认真,这里说的是“将会员注册页面的email修改成非必填项”,注意是 email , 那个"会员注册项设置"里是不包括EMAIL的 闲话少叙,下面就来说一下方法,注意此方法是在Ecshop2.7.2版上修改的,针对以前版本的修

将会员注册页面的Email修改成非必填项(ecshop2.7.2版)

"将ECSHOP会员注册页面的email修改成非必填项",注意是 email , 那个"会员注册项设置"里是不包括EMAIL的 闲话少叙,下面就来说一下方法, 注意此方法是在官方默认模板上修改的 1). 首先来修改模板文件, 这里以官方默认模板为例 打开 /themes/default/user_passport.dwt 文件 找到 onblur="checkEmail(this.value);" 将其删除,继续向下找到 <span id=

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

forms.py里注册页面的form组件 # Create your views here. class RegForm(forms.Form): username = forms.CharField( min_length=3, label="用户名", help_text='', error_messages={ "required": "不能为空", "invalid": "格式错误", "

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

当div中绑定数据,给它一个属性overflow-y: scroll,添加长度大小,使其能够出现滚动条:每次刷新的时候滚动条总是会出现在最上方,这使我很头疼,经过查阅网上资料,返现两种方法可行.如下: 第一种方案 将上一个页面的div的scrolltop距离长度记录在cookie中,然后通过js调整刷新页面时的长度记录,代码如下: js代码: <script> var _h = 0; function SetH(o) { _h = o.scrollTop SetCookie("a&q

Android中实现IPC的几种方式详细分析及比较

1.使用Bundle   ----> 用于android四大组件间的进程间通信 android的四大组件都可使用Bundle传递数据  所以如果要实现四大组件间的进程间通信 完全可以使用Bundle来实现 简单方便 2.使用文件共享  ---->用于单线程读写 这种方式在单线程读写的时候比较好用 如果有多个线程并发读写的话需要限制线程的同步读写 另外 SharePreference是个特例  它底层基于xml实现  但是系统对它的读写会基于缓存,也就是说再多进程模式下就变得不那么可靠了,有很大

注册页面的servlet

package cn.itcast.travel.web.servlet; import cn.itcast.travel.domain.ResultInfo;import cn.itcast.travel.domain.User;import cn.itcast.travel.service.UserService;import cn.itcast.travel.service.impl.UserServiceImpl;import com.fasterxml.jackson.databind

Spring MVC 下设置默认访问页面的3种方式

1.默认tomcat容器的默认页面. /index.html 这种方式适合访问静态的页面(也包括JSP)或者说是没有任何参数的页面. 2.spirng mvc 默认index controller 方式 如果在tomcat容器没有配置默认页面,怎spring mvc 会主动去寻找/index的controller,如果有则会调用,没有则会显示404页面. @RequestMapping(value="/index") public ModelAndView index(HttpServ

springMVC后台返回到页面的json数据,含有/&quot;号的问题处理

<bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <!--在消息转换器里面,添加此段代码--> <value>ap

一个简单的注册页面的js

前端调用onblur="函数名(this)" /* * 用户名 */ function onblurusername(a){ var b=a.value; if(!b.match('[a-zA-Z]{7}')){  $("#namespan").html("用户名应为字母且位数应大于6位"); }else{  $("#namespan").html(""); } }/**  关于密码*/function o