20180301.实现功能:取消关注,移除粉丝

本文介绍如何在后端数据库中实现关注表的修改,通过DAO方法操作,以取消关注功能为例。接着讨论前端如何响应后端变化,更新会话,确保用户互动的即时性。具体实现包括在servlet中处理前端传来的数据,以及在前端各个组件(如follow组件)中采用异步请求更新数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

用户使用过程中一定需要取消关注等功能,首先后端实现数据库关注表的修改,添加DAO方法:
@Override

public int deleteFollow(String user_name, String follow_name) {
    Connection conn=getConnection();
    String sql="";
    PreparedStatement pstmt;
    sql="DELETE FROM follow WHERE user_name = ? AND follow_name = ?";
    try{
        pstmt=conn.prepareStatement(sql);
        pstmt.setString(1, user_name);
        pstmt.setString(2, follow_name);
        
        return pstmt.executeUpdate();
    }catch(SQLException e){
        e.printStackTrace();
        return 0;
    }finally{
        closeConnection(conn);
    }
}

servlet,实现得到前端传来的数据,根据数据更改数据库:

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {

    
    
    req.setCharacterEncoding("UTF-8");
    resp.setCharacterEncoding("UTF-8");
    
    String name = req.getParameter("name");
    String follow = req.getParameter("follow");
    int result = new UserDAO().deleteFollow(name, follow);
    
    // 创建一个json的对象,把结果保存到result键中
    JsonObject result_obj= new JsonObject();
    result_obj.addProperty("result", result);
    
    resp.setContentType("application/json");
    PrintWriter out = resp.getWriter();
    
    // 输出响应结果的时候,以json字符串响应
    out.println(result_obj.toString());
}

前端需要实现随时更新会话,保证用户互动及时性,所以要修改多个组件异步请求,涉及登录组件,触发关注弹窗组件等,这里就只贴follow组件的methods:
deleteFollow(index){

        var f=this.$refs.ref1[index].innerText;
        f=f.substring(0,f.length-5);
        
        this.$http.post('/api/UserManager/DeleteFollow?name='+sessionStorage.getItem('login_user')+'&follow='+f)
                        .then((response)=>{
                            
                        })
                        .catch(function(err){
                          console.log(err);
                        });
                        this.$refs.ref1[index].remove();
    },

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值