要做的事情是对我的微博进行管理,首先需要写后端修改数据库的DAO方法:
@Overridepublic int deleteEssay(String user_name, String essay_context) {
Connection conn=getConnection();
String sql="";
PreparedStatement pstmt;
sql="DELETE FROM essay WHERE user_name = ? AND context = ?";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, user_name);
pstmt.setString(2, essay_context);
return pstmt.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
return 0;
}finally{
closeConnection(conn);
}
}
然后servlet层实现前后端交互,去前端数据给后端处理:
@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
String name = req.getParameter("name");
String context = req.getParameter("context");
int result = new UserDAO().deleteEssay(name, context);
// 创建一个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());
}
前端的触发代码已经写过多次,不再粘贴了,下面是点击事件的异步请求代码:
deleteEssay(index){this.$http.post('/api/UserManager/DeleteEssay?name='+sessionStorage.getItem('login_user')+'&context='+this.items[index].essay)
.then((response)=>{
if(response.data.result==1){
this.$refs.pItem[index].remove();
}
}).catch(function(err){
console.log(err);
});
},