首先实现后端提取数据库中的数据,老套路先添加父类DAO的方法。简单,不贴代码了。
然后UserDAO中添加方法提取数据,查找关注、粉丝的用户名,原理类似,所以贴其中一个就行:
@WebServlet("/ReadFollow")
public class ReadFollow extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
// 1. 取到前端提交的数据
String name = req.getParameter("name");
ArrayList<User> followList = new UserDAO().readFollowData(name);
// 创建一个json的对象,把结果保存到result键中
JsonObject result_obj= new JsonObject();
HttpSession session = req.getSession(); // 取到会话对象,准备保存用户名在会话中
// 在会话对象中,保存当前登录的用户名
resp.setContentType("application/json");
PrintWriter out = resp.getWriter();
for(int i=0;i<followList.size();i++){
result_obj.addProperty("result"+i, followList.get(i).getName());
}
out.println(result_obj.toString());
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req,resp);
}
接下来按套路走,前端异步请求取得信息,注意:需要修改登录和注销时的代码,新添加会话信息保存关注、粉丝的用户名。
异步请求代码,还是只贴其中一个:
this.$http.post('/api/UserManager/ReadFans?name='+sessionStorage.getItem('login_user'))
节省空间,后面的都不用贴出来了,就是简单的判断登录状态,然后提取response数据就行
最后再follow组件和fans组件中显示,html和css代码也很简单,不贴了。
预计要需要修改,思路还可以优化