java +mysql怎么樣實(shí)現(xiàn)博客的評論功能
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、昆玉網(wǎng)站維護(hù)、網(wǎng)站推廣。
1、博客文章有個id,這是文章表
2、評論的時候,把評論寫到評論表里,同時把被評論的文章id也寫進(jìn)評論表里
3、讀取文章的同時再到評論表里,把這篇文章對于的評論讀出來就行了
可以使用java爬蟲,爬取網(wǎng)頁的信息下來,然后用正則表達(dá)式提取出評論。
下面程序代碼:
import?java.io.*;??
import?java.net.*;??
import?java.util.regex.*;??
public?class?Main?{??
static?String?SendGet(String?url)?{??
//?定義一個字符串用來存儲網(wǎng)頁內(nèi)容??
String?result?=?"";??
//?定義一個緩沖字符輸入流??
BufferedReader?in?=?null;??
try?{??
//?將string轉(zhuǎn)成url對象??
URL?realUrl?=?new?URL(url);??
//?初始化一個鏈接到那個url的連接??
URLConnection?connection?=?realUrl.openConnection();??
//?開始實(shí)際的連接??
connection.connect();??
//?初始化?BufferedReader輸入流來讀取URL的響應(yīng)??
in?=?new?BufferedReader(new?InputStreamReader(??
connection.getInputStream()));??
//?用來臨時存儲抓取到的每一行的數(shù)據(jù)??
String?line;??
while?((line?=?in.readLine())?!=?null)?{??
//?遍歷抓取到的每一行并將其存儲到result里面??
result?+=?line;??
}??
}?catch?(Exception?e)?{??
System.out.println("發(fā)送GET請求出現(xiàn)異常!"?+?e);??
e.printStackTrace();??
}??
//?使用finally來關(guān)閉輸入流??
finally?{??
try?{??
if?(in?!=?null)?{??
in.close();??
}??
}?catch?(Exception?e2)?{??
e2.printStackTrace();??
}??
}??
return?result;??
}??
static?String?RegexString(String?targetStr,?String?patternStr)?{??
//?定義一個樣式模板,此中使用正則表達(dá)式,括號中是要抓的內(nèi)容??
//?相當(dāng)于埋好了陷阱匹配的地方就會掉下去??
Pattern?pattern?=?Pattern.compile(patternStr);??
//?定義一個matcher用來做匹配??
Matcher?matcher?=?pattern.matcher(targetStr);??
//?如果找到了??
if?(matcher.find())?{??
//?打印出結(jié)果??
return?matcher.group(1);??
}??
return?"Nothing";??
}??
public?static?void?main(String[]?args)?{??
//?定義即將訪問的鏈接??
String?url?=?"
//?訪問鏈接并獲取頁面內(nèi)容??
String?result?=?SendGet(url);??
//?使用正則匹配圖片的src內(nèi)容??
String?imgSrc?=?RegexString(result,?"src=\"(.+?)\"");??
//?打印結(jié)果??
System.out.println(imgSrc?);??
}??
}
如果需要多重評論,那么實(shí)現(xiàn)就主要還是依賴于數(shù)據(jù)庫表的設(shè)計(jì),如果只是這樣一個的話,用個div包起來,里面在放幾個div不就行了
因?yàn)橛脩艉驮u論是一對多關(guān)系,首先需要兩張表:1.用戶表
2.評論表
struts獲取前臺傳入的 用戶名(或者登陸后從session獲?。?、評論時間、評論內(nèi)容組成為類型為Comment的對象c,調(diào)用一個service層的方法service.save(Comment c)來進(jìn)行事務(wù)處理(事務(wù)織入等在xml配置,簡單的話也可以不配置)。
service層的方法為save(Comment c){
commentDao.save(c);//調(diào)用了數(shù)據(jù)訪問層的save方法
}
dao層開始調(diào)用hibernate的save語句,將對象c持久化。
至于你說的impl,是基于抽象編程,降低耦合度。如serviceImpl類的方法要嚴(yán)格遵循service接口的方法體。