JavaWeb評(píng)論功能實(shí)現(xiàn)步驟以及代碼實(shí)例
前言
評(píng)論功能是后端要寫常見(jiàn)的功能之一,一般性的網(wǎng)站也都會(huì)包含這一功能。像是購(gòu)物網(wǎng)站、視頻網(wǎng)站下方都會(huì)有用戶評(píng)論的功能。
一、分析功能
首先要分析功能:1.用戶登錄點(diǎn)擊商品后可查看所有普通用戶的評(píng)論。
2.用戶可以添加評(píng)論,發(fā)送到評(píng)論區(qū)。
3.用戶可以刪除該用戶寫的評(píng)論。(不能刪除其他人的評(píng)論)
二、實(shí)現(xiàn)功能
1.建評(píng)論表
外鍵約束:user_id關(guān)聯(lián)user表、motorcycle_id關(guān)聯(lián)商品表(motorcycle)。
然后創(chuàng)建實(shí)體類。
2.Dao層、service層核心代碼實(shí)現(xiàn)
查詢?cè)u(píng)論:
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=?";
添加評(píng)論:
String sql = "insert into comment(user_id,motorcycle_id,motorcycle_comment) values(?,?,?)"
刪除評(píng)論:
String sql = "delete from comment where id=?";
service層直接調(diào)用,不做處理。
clist = cDao.getMotorcycleComment(motorcycleId);
3.servlet層編寫核心代碼
將查詢結(jié)果放到request域里。
List<Comment> clist=commentService.getMotorcycleComment(id); // for (Comment c:clist // ) { // System.out.println(c); // } request.getSession().setAttribute("MotorcycleId", id); request.setAttribute("clist", clist);
調(diào)用刪除后重定向到詳情頁(yè)。
commentService.deleteComment(commentId); resp.sendRedirect("/motorcycle_detail?id="+motorcycleId);
添加也是,添加完后重定向到商品詳情頁(yè)。
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核心代碼
三、展示效果圖
效果查看
添加一條后
數(shù)據(jù)庫(kù)變化:新增一條信息
點(diǎn)擊刪除:發(fā)現(xiàn)已經(jīng)沒(méi)有該評(píng)論。
刷新數(shù)據(jù)庫(kù)后:
總結(jié)
效果展示完成。實(shí)現(xiàn)起來(lái)不算難,但要明白其中的外鍵約束關(guān)系,明白其中的邏輯。代碼不是很多,大家快練起來(lái)~
到此這篇關(guān)于JavaWeb評(píng)論功能實(shí)現(xiàn)步驟以及代碼實(shí)例的文章就介紹到這了,更多相關(guān)JavaWeb評(píng)論功能實(shí)現(xiàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot使用@Async注解可能會(huì)遇到的8大坑點(diǎn)匯總
SpringBoot中,@Async注解可以實(shí)現(xiàn)異步線程調(diào)用,用法簡(jiǎn)單,體驗(yàn)舒適,但是你一定碰到過(guò)異步調(diào)用不生效的情況,今天,我就列出90%的人都可能會(huì)遇到的8大坑點(diǎn),需要的朋友可以參考下2023-09-09Java中泛型學(xué)習(xí)之細(xì)節(jié)篇
泛型在java中有很重要的地位,在面向?qū)ο缶幊碳案鞣N設(shè)計(jì)模式中有非常廣泛的應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于Java中泛型細(xì)節(jié)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02springboot2.0?@Slf4j?log?彩色日志配置輸出到文件
這篇文章主要介紹了springboot2.0 @Slf4j log日志配置輸出到文件(彩色日志),解決方式是使用了springboot原生自帶的一個(gè)log框架,結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2023-08-08SpringBoot+Vue添加騰訊云人臉識(shí)別的項(xiàng)目實(shí)踐
人臉識(shí)別是一種基于人臉特征進(jìn)行身份認(rèn)證和識(shí)別的技術(shù),本文主要介紹了SpringBoot+Vue添加騰訊云人臉識(shí)別的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08spring cloud gateway如何獲取請(qǐng)求的真實(shí)地址
這篇文章主要介紹了spring cloud gateway如何獲取請(qǐng)求的真實(shí)地址問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05SpringMvc向request域中設(shè)置數(shù)據(jù)的方法
這篇文章主要介紹了SpringMvc向request域中設(shè)置數(shù)據(jù)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09Spring Boot與Kotlin定時(shí)任務(wù)的示例(Scheduling Tasks)
這篇文章主要介紹了Spring Boot與Kotlin定時(shí)任務(wù)的示例(Scheduling Tasks),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03