Nick Note
###1.注解@Responbody
作用:当我们将这个注解添加到请求方法上面的时候,方法里面的返回值会被作为“响应正文”返回给客户端。而并不会被重定向或者转发。
#为什么要使用这个注解(去JSP):
因为现在更多的希望服务器可以“响应一个正文”,
而不再执行转发或者重定向。
它的优点:服务器不用再担心客户端的显示问题,更好的实现服务器和客户端的分离。
###2.JSON格式
概念:它就是一个对象.一个理想的数据交换语言.
作用:JSON数据中,它比HTML更加的简洁
1,在JavaScript中可以直接识别JSON.
2.在JSON数据中,每个属性内部还可以创建对象.
具体方式有三种
- 标准语法;
“username”:“root”
console.log(“username=” + data.username) - 嵌套输出
“department”:{
“技术部”:“henry”,
“技术部”:“nick”
}
console.log(“username=” + data.department.“技术部”) - 数组
“skill”:[“Java”,“MySQL”,“SSM”]
console.log(“username=” + data.department[0]); - 数组遍历
转换的语法;
JSON.parse(str)
###项目登录操作流程.
1.UserMapper类中添加查询功能
User findByUsername(String username);
2.检验查询语句:UserMapper.xml文件中查看是否包含
password字段.
3.UserController控制器中,书写登录请求逻辑代码
@RequestMapping(“handle_login.do”)
@ResponseBody
public JsonResult handleLogin(
String username, String password) {
// 创建返回值对象
JsonResult jr = new JsonResult();
// 根据用户名查询数据
User result = userMapper.findByUsername(username);
// 判断查询结果是否为null
if (result == null) {
// 是:用户名不存在
jr.setState(2);
jr.setMessage(“用户名不存在!”);
} else {
// 否:将查询结果中的密码与参数password进行对比,判断是否一致
if (result.getPassword().equals(password)) {
// 是:登录成功
jr.setState(1);
} else {
// 否:密码错误
jr.setState(3);
jr.setMessage(“密码错误!”);
}
}
return jr;
}