需求介绍
使用 AJAX 异步通信实现网页能够增量的更新呈现到页面上而不需要刷新整个页面。
现在基本上都是服务器返回 JSON 字符串来解析
代码实现
使用 JQuery 发送 AJAX 请求。
首先我们要有几个处理 JSON 字符串的方法,因为服务器要给浏览器返回 JSON 字符串,我们引入一个包下的 API 来处理。
1 | <dependency> |
利用这个 API 开发工具方法,往往服务器向浏览器返回的JSON数据,这个JSON包含几个部分:编码,即时信息(成功还是失败啊这些),以及业务数据。
1 | public static String getJSONString(int code, String msg, Map<String, Object> map) { |
然后写一个实例模拟 AJAX 的异步请求,那么需要在 AlphaController 里面声明一个方法处理这样的请求,
1 | // Ajax实例 |
然后写页面处理,就不细致的说了。
现在就写发布帖子的功能。
那么就从数据访问层写起,那么要增加一个方法 insertDiscussPost 能增加帖子的数据
1 | int insertDiscussPost(DiscussPost discussPost); |
然后去 discusspost-mapper.xml 文件里面写方法的实现:
1 | <sql id="insertFields"> |
数据访问层写完,写业务层,业务层需要提供一个能够保存帖子的业务方法 addDiscussPost,添加的帖子也要利用到之前写过的过滤敏感词的方法
1 | // 先注入过滤敏感词的工具 |
然后新建 DiscussPostController,控制视图层,那么以后涉及到帖子的都在这个 Controller 里面实现
1 | package com.nowcoder.community.controller; |
然后就开始处理页面,要写异步请求,就可以了。