一、项目描述:

项目中主要使用了:Java SE、JSP、Servlet、Tomcat、MySQL、PowerDesigner、starUML、Dreamweaver、数据库连接池、Commons DbUtils、JSTL、Displaytag、HTML、Javascript、CSS等技术和工具。

二、项目设计的步骤

 1)、StarUML设计用例图

Blog项目 —上集


2)利用PowerDesigner调整数据库模型


Blog项目 —上集

一个blog对应category,多个comment 对应一个blog。



3)利用Navicat for MySQL导入上面设计产生的blog.sql设计博客中的blog、category 、comment、 users几个模块的属性

其中

blog属性包括 id,category_id, title, content, createdtimeBlog项目 —上集

category属性包括id ,name,level

Blog项目 —上集

comment属性包括id ,blog_Id,  username,content,createdtime,

Blog项目 —上集


users属性包括 id,username,password

Blog项目 —上集


4)前台于后台应用技术介绍

a.  前台可以让普通用户查看博文,发表评论,根据分类、评论、博文的链接都可进入到具体需要访问的博文页内。



b.后台实现了发博文博文管理 | 添加分类 | 分类管理 | 评论管理 | 修改密码 | 退出



 发博文采用可视化的HTML--  FCKeditor技术

FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑。它志于轻量化,不需要太复杂的安装步骤即可使用。

在addBlog.jsp中的设置:

Blog项目 —上集


    以上后台的功能的实现大部分需要mySql中的语句控制,利用Connect Pool获取数据库的连接,利用DButils中的核心类,生成对象时传递数据源对象的运用。将其封装。保存在DbHelper.java 中。

类展示:

Blog项目 —上集

功能的实现需要数据库的数据,需要先调用sql语句,然后才能连接数据池,传递数据源对象.


后台发博文|博文管理 | 添加分类 | 分类管理 | 评论管理 | 修改密码 | 退出这些功能用到的sql语句:

1、blog(博客用到的sql语句) 

// 添加博文的SQL语句,now()生成当前系统时间(后台:发博文

String sql = "insert into blog (title,content,category_id,createdtime) values (?,?,?,now())";


// 查询所有的博客内容,也就是所有的Blog对象(后台博文管理

按照blog 的id从大到小给b.category_id=c.id(ji)的blog的属性排序。 

String sql = "select b.id as id ,title,content,createdtime, c.name as category from blog b,category c where b.category_id=c.id order by b.id desc";


String sql = "select id,title,content,category_id as categoryid from blog where id=" + id;



2、category(分类用到的sql语句)

list category (后台)

String sql = "select id,name,level from category order by level desc,id desc";

delete category' (后台分类管理

String sql = "delete from category where id=" + id;

preEdit category(后台分类管理

String sql = "select id,name,level from category where id=" + id;

update category (后台分类管理

String sql = "update category set name=?,level=? where id=?";

add category(后台添加分类

String sql = "insert into category (name,level) values (?,?)";


3、comment(评论用到的sql 语句)

add comment (前台)

String sql = "insert into comment (username,content,blog_id,createdtime) values (?,?,?,now())";

list comment(后台)

String sql = "select id,username,content,createdtime from comment order by id desc";


delete comment(后台评论管理

String sql = "delete from comment where id=" + id;




preEdit comment(后台评论管理

String sql = "select id,username,content from comment where id=" + id;

postEdit comment(后台评论管理

String sql = "update comment set username=?,content=? where id=?";



4、users(用户用到的sql 语句)

users  login(后台)

String sql = "select id,username,password from users where username=? and password=?";


user changepassword(后台:修改密码

String sql = "update users set password=? where id=?";

用户退出登陆(后台:退出

session.invalidate();



前台实现的功能需要的sql语句:




get blog
// 根据博文的id值读取一篇博文
String sql = "select id,title,content,createdtime from blog where id="+ id;
get category
// 根据博文的id,读取这个博文下的所有评论
sql = "select id,username,content,createdtime from comment where blog_id="+ id + " order by id desc";

// 查询分类
sql = "select id,name from category order by level desc,id desc";

// 查询最新的评论
sql = "select id,username,content,blog_id as blogid from comment order by id desc limit 0,4";



相关文章:

  • 2022-01-31
  • 2021-07-06
  • 2021-10-08
  • 2021-08-29
  • 2022-12-23
  • 2022-01-17
猜你喜欢
  • 2022-01-14
  • 2022-01-14
  • 2021-11-13
  • 2021-05-27
  • 2021-07-01
  • 2021-07-10
相关资源
相似解决方案