1 异常处理
1.1 Spring boot可以根据不同的状态码跳转到不同的异常处理显示页面,方法如下
1.2 在/resources/static/下新建/error文件夹,然后在文件夹内新建对应状态码的html页面即可
1.2.1 如404.html,找不到url的异常会跳转到此页面
1.2.2 如500.html,内部处理报错时的异常会跳转到此页面
1.3 然后故意输入错误的url,查看是否跳转到了相应的状态码的html页面即可
2 Ajax及序列化与反序列化
2.1 Rest风格的mvc开发,我们一般使用ajax方式请求与获取数据
2.2 通过@RequestBoby我们可以直接将请求的参数反序列化成对象
2.3 通过@ResponseBody则可以将返回的对象序列化为json字符串
@PostMapping("/ajaxAdd") @ResponseBody //序列化,返回json字符串 public Object ajaxAdd(@RequestBody Blog blog){ //反序列化 return blog; //返回对象 }
2.4 要反序列化成的对象类
class Blog{ public String title; public String content; }
2.5 Html页面
2.5.1 对象要设置name和id,因为jquery一般用id,而form表单认name属性
2.5.2 contentType为'application/json;charset=UTF-8'否则报错
2.5.3 data: JSON.stringify(data),data需序列化,否则报错
//HTML页面代码
<input type="text" name="title" id="title" />
<input type="text" name="content" id="content" />
<script type="application/javascript" src="/js/jquery-3.2.1.min.js"></script>
<button title="ajax" name="ajaxSave" id="ajaxSave">ajax保存信息</button>
<span name="rst">返回的信息显示在这里</span>
<script type="application/javascript">
$('#ajaxSave').click(function () {
var data = {
title: $('#title').val(),
content: $('#content').val()
};
alert(JSON.stringify(data));
$.ajax({
url: '/blog/ajaxAdd',
data: JSON.stringify(data),
type: 'POST',
contentType: 'application/json;charset=UTF-8',
success: function (rst) {
alert(JSON.stringify(rst));
},
error: function (rst) {
alert(rst.error);
}
});
});
</script>