基于BIS的網(wǎng)站建設(shè)的設(shè)計與實現(xiàn)
好程序設(shè)計擅長JAVA(SSM,SSH,SPRINGBOOT)、PYTHON(DJANGO/FLASK)、THINKPHP、C#、安卓、微 信小程序、MYSQL、SQLSERVER等,歡迎咨詢
每天都要認(rèn)真學(xué)習(xí),才能更加進(jìn)步。└(^o^)┘
在工作和學(xué)習(xí)的過程中要善于思考,勤于學(xué)習(xí)。并做出適當(dāng)?shù)挠涗?,才能最快速的學(xué)習(xí)并掌握一項知識。希望在這個平臺和大家一起共同成長,和大家分享一個SSM(MYECLIPSE)項目,該項目名稱為BLOG網(wǎng)站建設(shè)。先簡單介紹一下這個項目的背景:采用當(dāng)前非常流行的B/S體系結(jié)構(gòu),以JSP作為開發(fā)技術(shù),主要依賴SSM技術(shù)框架,實現(xiàn)博客網(wǎng)站的實時動態(tài)管理,使得對個人博客信息的管理更加及時、高效、便捷,提高信息管理的工作效率. “博客”作為現(xiàn)代社會非常流行的詞匯,它是將英語單詞Weblog簡寫成blog,而blog直譯過來即博客,故此而得名.通過博客可以把在網(wǎng)絡(luò)上發(fā)布過的和瀏覽過的信息記錄下來,一般將其稱之為“網(wǎng)絡(luò)日志”,簡稱為“網(wǎng)志”.。
大家在學(xué)習(xí)中編寫SSM(MYECLIPSE)框架的項目時常選用的開發(fā)工具是MYECLIPSE,從上面的項目背景中,我們可以得出BLOG網(wǎng)站建設(shè)擁有 后臺。才能讓用戶完整的使用該項目。
BLOG網(wǎng)站建設(shè)項目的登錄角色包括了管理員、用戶,系統(tǒng)中所有的用戶都是擁有賬號密碼字段的。其中管理員只能在后臺和數(shù)據(jù)庫進(jìn)行添加。而其余的登錄角色可以通過注冊的方式成功擁有系統(tǒng)賬號密碼。
系統(tǒng)中用戶、博客之間具有較強(qiáng)的聯(lián)系性。他們之間的關(guān)系為博客的作者與用戶的mingzi字段對應(yīng)、博客的作者id與用戶的id字段對應(yīng)
。在博客表中可以體現(xiàn)出這種關(guān)系。為了完成系統(tǒng)的功能需要為博客、用戶設(shè)置評論表,記錄評論信息。在評論表中定義了兩者的關(guān)聯(lián)關(guān)系,其中評論的博客與博客的biaoti字段對應(yīng)、評論的博客id與博客的id字段對應(yīng)、評論的用戶與用戶的mingzi字段對應(yīng)、評論的用戶id與用戶的id字段對應(yīng)
。
總結(jié)得出BLOG網(wǎng)站建設(shè)項目所有數(shù)據(jù)為:管理員(admin)、用戶(yonghu)、博客(boke)、評論(pingllun)
BLOG網(wǎng)站建設(shè)之管理員表
字段名 | 類型 | 屬性 | 描述
id | int(11) | PRIMARY KEY | 管理員id
username | varchar(255) | | 賬號
password | varchar(255) | | 密碼
BLOG網(wǎng)站建設(shè)之用戶表
字段名 | 類型 | 屬性 | 描述
id | int(11) | PRIMARY KEY | 用戶id
mingzi | varchar(255) | | 名字
username | varchar(255) | | 賬號
password | varchar(255) | | 密碼
xingbie | varchar(255) | | 性別
nianling | varchar(255) | | 年齡
jianjie | varchar(255) | | 簡介
BLOG網(wǎng)站建設(shè)之博客表
字段名 | 類型 | 屬性 | 描述
id | int(11) | PRIMARY KEY | 博客id
biaoti | varchar(255) | | 標(biāo)題
zuozhe | varchar(255) | | 作者
zuozheid | varchar(255) | | 作者id
neirong | varchar(255) | | 內(nèi)容
fabushijian | varchar(255) | | 發(fā)布時間
BLOG網(wǎng)站建設(shè)之評論表
字段名 | 類型 | 屬性 | 描述
id | int(11) | PRIMARY KEY | 評論id
boke | varchar(255) | | 博客
bokeid | varchar(255) | | 博客id
yonghu | varchar(255) | | 用戶
yonghuid | varchar(255) | | 用戶id
neirong | varchar(255) | | 內(nèi)容
sql建表語句如下:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- ----------------------------
-- Table structure for ggbokewangzhan
-- ----------------------------
DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE `t_admin` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '管理員id',`username` varchar(255) DEFAULT NULL COMMENT '賬號',`password` varchar(255) DEFAULT NULL COMMENT '密碼',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='管理員';
-- ----------------------------
DROP TABLE IF EXISTS `t_yonghu`;
CREATE TABLE `t_yonghu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶id',`mingzi` varchar(255) DEFAULT NULL COMMENT '名字',`username` varchar(255) DEFAULT NULL COMMENT '賬號',`password` varchar(255) DEFAULT NULL COMMENT '密碼',`xingbie` varchar(255) DEFAULT NULL COMMENT '性別',`nianling` varchar(255) DEFAULT NULL COMMENT '年齡',`jianjie` varchar(500) DEFAULT NULL COMMENT '簡介',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='用戶';
-- ----------------------------
DROP TABLE IF EXISTS `t_boke`;
CREATE TABLE `t_boke` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '博客id',`biaoti` varchar(255) DEFAULT NULL COMMENT '標(biāo)題',`zuozhe` varchar(255) DEFAULT NULL COMMENT '作者',`zuozheid` int(11) DEFAULT NULL COMMENT '作者id',`neirong` varchar(500) DEFAULT NULL COMMENT '內(nèi)容',`fabushijian` varchar(255) DEFAULT NULL COMMENT '發(fā)布時間',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='博客';
-- ----------------------------
DROP TABLE IF EXISTS `t_pingllun`;
CREATE TABLE `t_pingllun` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '評論id',`boke` varchar(255) DEFAULT NULL COMMENT '博客',`bokeid` int(11) DEFAULT NULL COMMENT '博客id',`yonghu` varchar(255) DEFAULT NULL COMMENT '用戶',`yonghuid` int(11) DEFAULT NULL COMMENT '用戶id',`neirong` varchar(500) DEFAULT NULL COMMENT '內(nèi)容',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='評論';
[/cc]
添加評論模塊:
系統(tǒng)中存在添加評論功能,通過點擊添加評論可以跳轉(zhuǎn)到該功能模塊,在該功能模塊中,填寫對應(yīng)的評論信息。評論包含信息博客,博客id,用戶,用戶id,內(nèi)容,填寫完所有信息后,通過post方法將數(shù)據(jù)提交到addpingllun.action中,該地址將在服務(wù)器中pingllunController類中的addpingllunact方法中進(jìn)行響應(yīng)。響應(yīng)結(jié)果為,獲取所有的評論信息,封裝一個pingllun類,使用pingllunController類中定義的pingllundao的insert方法,將評論數(shù)據(jù)插入到數(shù)據(jù)庫的pingllun表中。并給出用戶提示信息,添加評論成功,將該信息保存到request的message中,該信息將在頁面中進(jìn)行展示。該部分核心代碼如下:
通過pingllundao的insert方法將頁面?zhèn)鬏數(shù)脑u論添加到數(shù)據(jù)庫中pingllundao.insert(pingllun);
將添加評論成功信息,保存到request的message中,在頁面中給出用戶提示request.setAttribute("message", "添加評論成功");
返回評論管理界面
return "forward:/addpingllun.action";
查詢評論模塊:
在瀏覽器中進(jìn)入評論查詢頁面時,此時瀏覽器的地址欄為pingllunmanage.action,該地址將響應(yīng)pingllunController類中的pingllunmanage,在該方法中,通過selectByexample方法獲取所有的評論信息,并將該信息保存到request中,在頁面進(jìn)行循環(huán)展示。該部分核心代碼如下:
生成評論樣例類,通過example定義查詢條件PingllunExample example = new PingllunExample();
通過pingllundao的selectByExample方法查詢出所有的評論信息List pingllunall = pingllundao.selectByExample(example);
將評論信息,保存到request中,在頁面通過foreach方法進(jìn)行展示request.setAttribute("pingllunall", pingllunall);
返回評論管理界面
return "forward:/pingllunmanage.action";
評論控制層:
package org.mypro.front;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import javax.jms.Session;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mypro.service.PingllunServiceImp;
import org.mypro.entity.Pingllun;
import org.mypro.entity.PingllunExample;
import org.mypro.entity.Boke;
import org.mypro.entity.BokeExample;
import org.mypro.dao.BokeMapper;
import org.mypro.entity.Yonghu;
import org.mypro.entity.YonghuExample;
import org.mypro.dao.YonghuMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
@Controller
@RequestMapping(value = "/")
public class PingllunController {
private static final Log logger = LogFactory.getLog(PingllunController.class);
@Autowired
private PingllunServiceImp pingllunservice;
@RequestMapping(value = "addpingllun")
public String addpingllun(HttpServletRequest request, HttpServletResponse response,HttpSession session,String backurl) {
logger.debug("PingllunController.addpingllun ......");
pingllunservice.addpingllun(request,session);
if(backurl != && backurl.indexOf("addpingllun.action") == -1){
return "forward:/" + backurl;}
return "addpingllun";
}
@RequestMapping(value = "addpingllunact")
public String addpingllunact(HttpServletRequest request,HttpSession session, HttpServletResponse response,Pingllun pingllun,String backurl) throws IOException {
logger.debug("PingllunController.addpingllunact ......");
pingllunservice.addpingllunact(request,session,pingllun);
if(backurl != && backurl.indexOf("addpingllunact.action") == -1){
return "forward:/" + backurl;}
return "forward:/pingllunmanage.action";
}
@RequestMapping(value = "pingllunmanage")
public String pingllunmanage(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {
logger.debug("PingllunController.pingllunmanage ......");
pingllunservice.pingllunmanage(request,session);
if(backurl != && backurl.indexOf("pingllunmanage.action") == -1){
return "forward:/" + backurl;}
return "pingllunmanage";
}
@RequestMapping(value = "pingllunview")
public String pingllunview(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {
logger.debug("PingllunController.pingllunview ......");
pingllunservice.pingllunview(request,session);
if(backurl != && backurl.indexOf("pingllunview.action") == -1){
return "forward:/" + backurl;}
return "pingllunview";
}
@RequestMapping(value = "updatepingllun")
public String updatepingllun(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){
logger.debug("PingllunController.updatepingllun ......");
pingllunservice.updatepingllun(request,session,id);
if(backurl != && backurl.indexOf("updatepingllun.action") == -1){
return "forward:/" + backurl;}
return "updatepingllun";
}
@RequestMapping(value = "updatepingllunact")
public String updatepingllunact(HttpServletRequest request, HttpServletResponse response,Pingllun pingllun,HttpSession session,String backurl) throws IOException {
logger.debug("PingllunController.updatepingllunact ......");
pingllunservice.updatepingllunact(request,pingllun,session);
if(backurl != && backurl.indexOf("updatepingllunact.action") == -1){
return "forward:/" + backurl;}
return "forward:/pingllunmanage.action";
}
@RequestMapping(value = "deletepingllun")
public String deletepingllun(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){
logger.debug("PingllunController.deletepingllun ......");
pingllunservice.deletepingllun(request,session,id);
if(backurl != && backurl.indexOf("deletepingllun.action") == -1){
return "forward:/" + backurl;}
return "forward:/pingllunmanage.action";
}
@RequestMapping(value = "searchpingllun")
public String searchpingllun(HttpServletRequest request, HttpServletResponse response,HttpSession session,String search,String backurl) {
logger.debug("PingllunController.searchpingllun ......");
pingllunservice.searchpingllun(request,session,search);
if(backurl != && backurl.indexOf("searchpingllun.action") == -1){
return "forward:/" + backurl;}
return "searchpingllun";
}
@RequestMapping(value = "pingllundetails")
public String pingllundetails(HttpServletRequest request,HttpSession session, HttpServletResponse response,int id,String backurl) {
logger.debug("PingllunController.pingllundetails ......");
pingllunservice.pingllundetails(request,session,id);
if(backurl != && backurl.indexOf("pingllundetails.action") == -1){
return "forward:/" + backurl;}
return "pingllundetails";
}
}[/cc]
如需源碼,請聯(lián)系站長
好程序設(shè)計,為你提供想要的效果
為你量身定制的程序設(shè)計
關(guān)于程序設(shè)計,我們將盡心盡力為你完成
十年程序經(jīng)驗,盡在好程序設(shè)計
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科