重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
好程序设计擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON(DJANGO/FLASK)、THINKPHP、C#、安卓、微 信小程序、MYSQL、SQLSERVER等,欢迎咨询
成都创新互联专注于企业成都全网营销推广、网站重做改版、濠江网站定制设计、自适应品牌网站建设、HTML5、购物商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为濠江等各大城市提供网站开发制作服务。每天都要认真学习,才能更加进步。└(^o^)┘
在工作和学习的过程中要善于思考,勤于学习。并做出适当的记录,才能最快速的学习并掌握一项知识。希望在这个平台和大家一起共同成长,和大家分享一个SSM(MYECLIPSE)项目,该项目名称为BLOG网站建设。先简单介绍一下这个项目的背景:采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,实现博客网站的实时动态管理,使得对个人博客信息的管理更加及时、高效、便捷,提高信息管理的工作效率. “博客”作为现代社会非常流行的词汇,它是将英语单词Weblog简写成blog,而blog直译过来即博客,故此而得名.通过博客可以把在网络上发布过的和浏览过的信息记录下来,一般将其称之为“网络日志”,简称为“网志”.。
大家在学习中编写SSM(MYECLIPSE)框架的项目时常选用的开发工具是MYECLIPSE,从上面的项目背景中,我们可以得出BLOG网站建设拥有 后台。才能让用户完整的使用该项目。
BLOG网站建设项目的登录角色包括了管理员、用户,系统中所有的用户都是拥有账号密码字段的。其中管理员只能在后台和数据库进行添加。而其余的登录角色可以通过注册的方式成功拥有系统账号密码。
系统中用户、博客之间具有较强的联系性。他们之间的关系为博客的作者与用户的mingzi字段对应、博客的作者id与用户的id字段对应
。在博客表中可以体现出这种关系。为了完成系统的功能需要为博客、用户设置评论表,记录评论信息。在评论表中定义了两者的关联关系,其中评论的博客与博客的biaoti字段对应、评论的博客id与博客的id字段对应、评论的用户与用户的mingzi字段对应、评论的用户id与用户的id字段对应
。
总结得出BLOG网站建设项目所有数据为:管理员(admin)、用户(yonghu)、博客(boke)、评论(pingllun)
BLOG网站建设之管理员表
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 管理员id
username | varchar(255) | | 账号
password | varchar(255) | | 密码
BLOG网站建设之用户表
字段名 | 类型 | 属性 | 描述
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网站建设之博客表
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 博客id
biaoti | varchar(255) | | 标题
zuozhe | varchar(255) | | 作者
zuozheid | varchar(255) | | 作者id
neirong | varchar(255) | | 内容
fabushijian | varchar(255) | | 发布时间
BLOG网站建设之评论表
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 评论id
boke | varchar(255) | | 博客
bokeid | varchar(255) | | 博客id
yonghu | varchar(255) | | 用户
yonghuid | varchar(255) | | 用户id
neirong | varchar(255) | | 内容
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 '标题',`zuozhe` varchar(255) DEFAULT NULL COMMENT '作者',`zuozheid` int(11) DEFAULT NULL COMMENT '作者id',`neirong` varchar(500) DEFAULT NULL COMMENT '内容',`fabushijian` varchar(255) DEFAULT NULL COMMENT '发布时间',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 '内容',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='评论';
[/cc]
添加评论模块:
系统中存在添加评论功能,通过点击添加评论可以跳转到该功能模块,在该功能模块中,填写对应的评论信息。评论包含信息博客,博客id,用户,用户id,内容,填写完所有信息后,通过post方法将数据提交到addpingllun.action中,该地址将在服务器中pingllunController类中的addpingllunact方法中进行响应。响应结果为,获取所有的评论信息,封装一个pingllun类,使用pingllunController类中定义的pingllundao的insert方法,将评论数据插入到数据库的pingllun表中。并给出用户提示信息,添加评论成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过pingllundao的insert方法将页面传输的评论添加到数据库中pingllundao.insert(pingllun);
将添加评论成功信息,保存到request的message中,在页面中给出用户提示request.setAttribute("message", "添加评论成功");
返回评论管理界面
return "forward:/addpingllun.action";
查询评论模块:
在浏览器中进入评论查询页面时,此时浏览器的地址栏为pingllunmanage.action,该地址将响应pingllunController类中的pingllunmanage,在该方法中,通过selectByexample方法获取所有的评论信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成评论样例类,通过example定义查询条件PingllunExample example = new PingllunExample();
通过pingllundao的selectByExample方法查询出所有的评论信息List pingllunall = pingllundao.selectByExample(example);
将评论信息,保存到request中,在页面通过foreach方法进行展示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]
如需源码,请联系站长
好程序设计,为你提供想要的效果
为你量身定制的程序设计
关于程序设计,我们将尽心尽力为你完成
十年程序经验,尽在好程序设计