文章目录
前言
评论功能是后端要写常见的功能之一,一般性的网站也都会包含这一功能。像是购物网站、视频网站下方都会有用户评论的功能。
一、分析功能
首先要分析功能:1.用户登录点击商品后可查看所有普通用户的评论。
2.用户可以添加评论,发送到评论区。
3.用户可以删除该用户写的评论。(不能删除其他人的评论)
二、实现功能
1.建评论表
外键约束:user_id关联user表、motorcycle_id关联商品表(motorcycle)。
然后创建实体类。
2.Dao层、service层核心代码实现
查询评论:
String sql="select c.id, c.user_id,c.motorcycle_id,c.motorcycle_comment,u.username from comment c left join user u on c.user_id=u.id where c.motorcycle_id=?";
添加评论:
String sql = "insert into comment(user_id,motorcycle_id,motorcycle_comment) values(?,?,?)"
删除评论:
String sql = "delete from comment where id=?";
service层直接调用,不做处理。
clist = cDao.getMotorcycleComment(motorcycleId);
3.servlet层编写核心代码
将查询结果放到request域里。
List<Comment> clist=commentService.getMotorcycleComment(id);
// for (Comment c:clist
// ) {
// System.out.println(c);
// }
request.getSession().setAttribute("MotorcycleId", id);
request.setAttribute("clist", clist);
调用删除后重定向到详情页。
commentService.deleteComment(commentId);
resp.sendRedirect("/motorcycle_detail?id="+motorcycleId);
添加也是,添加完后重定向到商品详情页。
CommentService commentService=new CommentService();
int userId= Integer.parseInt(req.getParameter("userId"));
int motorcycleId= Integer.parseInt(req.getParameter("motorcycleId"));
String motorcycleComment=req.getParameter("comment");
commentService.addComment(userId,motorcycleId,motorcycleComment);
// req.getRequestDispatcher("/motorcycle_detail?id="+motorcycleId).forward(req, resp);
resp.sendRedirect("/motorcycle_detail?id="+motorcycleId);
4.jsp核心代码
三、展示效果图
效果查看
添加一条后
数据库变化:新增一条信息
点击删除:发现已经没有该评论。
刷新数据库后:
总结
效果展示完成。实现起来不算难,但要明白其中的外键约束关系,明白其中的逻辑。代码不是很多,大家快练起来~
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114650.html