数据库报告.docx

上传人:b****6 文档编号:16713289 上传时间:2023-07-16 格式:DOCX 页数:26 大小:744.64KB
下载 相关 举报
数据库报告.docx_第1页
第1页 / 共26页
数据库报告.docx_第2页
第2页 / 共26页
数据库报告.docx_第3页
第3页 / 共26页
数据库报告.docx_第4页
第4页 / 共26页
数据库报告.docx_第5页
第5页 / 共26页
数据库报告.docx_第6页
第6页 / 共26页
数据库报告.docx_第7页
第7页 / 共26页
数据库报告.docx_第8页
第8页 / 共26页
数据库报告.docx_第9页
第9页 / 共26页
数据库报告.docx_第10页
第10页 / 共26页
数据库报告.docx_第11页
第11页 / 共26页
数据库报告.docx_第12页
第12页 / 共26页
数据库报告.docx_第13页
第13页 / 共26页
数据库报告.docx_第14页
第14页 / 共26页
数据库报告.docx_第15页
第15页 / 共26页
数据库报告.docx_第16页
第16页 / 共26页
数据库报告.docx_第17页
第17页 / 共26页
数据库报告.docx_第18页
第18页 / 共26页
数据库报告.docx_第19页
第19页 / 共26页
数据库报告.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库报告.docx

《数据库报告.docx》由会员分享,可在线阅读,更多相关《数据库报告.docx(26页珍藏版)》请在冰点文库上搜索。

数据库报告.docx

数据库报告

目录

一、设计概述1

1、功能分析1

1.1浏览者1

1.2博主2

二、需求分析3

三、概念设计及数据库设计4

3.1E-R图4

3.2表结构设计4

四、界面设计及前后台数据链接介绍6

4.1博客首页6

4.2登录界面9

4.3个人主页界面12

4.4博主发表话题页面14

4.5查看个人发表的文章16

4.6评论界面18

五、心得体会22

参考文献24

一、设计概述

博客作为Web2.0的典型代表,已风靡网络世界。

什么是博客?

简单一点的博客记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识与他人分享、交流,同时又通过个人博客结识了更多志趣相投的朋友:

而越来越多承载专业知识的博客的出现,让人们看到了博客所蕴含的巨大的信息价值,目前博客已成为越来越多的人获取信息的主要途径。

1、功能分析

本设计主要是开发一个简单的个人博客管理系统。

个人博客系统的使用角色分为浏览者和博主两种:

博主是博客信息的发布者,浏览者是对博客内容进行浏览,也可以通过发表评论来与博主交流。

下面从使用角色的角度来分析本系统。

1.1浏览者

浏览者能使用的功能如下图所示:

 

1.1.1浏览首页信息

博客最吸引人的当属博主们充满创意的文章,包括艺术类、情感类、评论类,等等。

博客首页有博主们发表的文章,每个文章都设有本文章查看的链接,浏览者可以点击链接查看本文章,透过文章了解到博主的感情和思想,有时候会引起共鸣而成为朋友,还可以互相学习。

1.1.2登录

博客首页设有登录的链接,点击登录链接可以进入登录页面

1.1.3发表评论

浏览者可以对某个文章发表评论,来作为与博主沟通的途径。

加强博客使用者之间的沟通和交流。

1.2博主

博主除了拥有浏览者全部功能外,还可以维护自己的博客,包括发表文章、查看个人发表的所有文章、删除自己发表的文章信息等,博主功能如下图所示:

 

1.2.1发表文章

登录进入个人主页后点击新增文章链接便可进入发表文章页面,在发表框内填写完自己的文章后点击文章框下面的保存按钮便可成功发表个人文章。

1.2.2查看个人文章

登录进入个人主页后点击链接查看个人发表的文章,便可进入个人发表页面,个人发表页面罗列了博主所有发表的文章,在本页面还设有新增文章链接,点击此链接也可以进入发表文章页面发表个人文章。

1.2.2删除个人文章

在个人发表页面罗列了博主所有发表的文章,每个文章下面设有删除按钮,点击删除按钮便可删除此条文章信息。

二、需求分析

该系统为个人博客,具有一般博客系统的功能。

博主,即管理员,拥有最高权限,能对文章,评论等进行管理。

浏览者只能在博客首页浏览博主发表的文章,只有登录后才能对博主发表的文章进行评论。

根据以上需求分析,该系统要实现的主要功能为:

◆前台显示文章部分

●显示最新的前几篇文章

●显示所有文章

●文章详细信息浏览阅读

●博主登录入口

◆后台管理部分

●登录验证,只有博主能登录

●添加、删除文章功能

●用户评论的管理功能

 

系统功能模块图

3、概念设计及数据库设计

3.1E-R图

 

总E-R图

3.2表结构设计

用户信息表yhdlxx

列名

数据类型

Yhid(用户ID)

Int

Dlyhm(用户名)

Varchar2(30)

Mm(密码)

Varchar2(30)

 

文章信息表htxx

列名

数据类型

Htid(文章ID)

Int

Htbt(文章标题)

Varchar2(500)

Bknr(文章内容)

Varchar2(2000)

Yhid(用户ID)

Varchar2(20)

Fbsj(发表时间)

date

 

评论信息表plxx

列名

数据类型

Plxxid(评论ID)

Int

Plyhid(评论人ID)

Int

Plsj(评论时间)

date

Plhtxxid(回复文章ID)

Int

Plxx(评论信息)

Varchar2(200)

4、界面设计及前后台数据链接介绍

4.1博客首页

前台显示:

Shouye.jsp

--定义首页背景图片显示-->

欢迎访问本博客

--首页标题-->

点击登录博客

--登录链接-->

presentname="bkxxlist">

--从后台获取bkxxlist序列信息-->

iterateid="types"name="bkxxlist">

--显示博主们发表的文章标题链接-->

defineid="htid"name="types"property="htid"/>

writename="types"property="htid"/>

--获取文章ID-->

<%

java.util.HashMapmyMap=newjava.util.HashMap();

myMap.put("htid",htid);

pageContext.setAttribute("map",myMap);

%>

--定义map值-->

标题:

  

--获取文章标题,并将文章标题定义为查看全文的链接-->

linkaction="/viewhtxx.do"name="map">

writename="types"property="htbt"/>

link>

--获取文章发表时间-->

发表时间:

  

writename="types"property="fbsj"/>

iterate>

present>

后台:

数据获取及传输:

//Action.java中运行以下代码,把从mydao中获取到的bkxxlist数据传到前台

try{ds=datasource.getDataSource();

BkxxDaomydao=newBkxxDao(ds);

ArrayListbkxxlist=mydao.viewBkxx();

request.setAttribute("bkxxlist",bkxxlist);

}

Dao.java:

//操作数据库,执行Sql语句

try{Stringsql1="select*fromhtxxinnerjoinyhdlxxonhtxx.YHID=yhdlxx.YHIDorderbyhtid";

conn=ds.getConnection();

prestat=conn.prepareStatement(sql1);

rs=prestat.executeQuery();

//循环迭代取出所需要的属性值并放入mybo这个集合中

while(rs.next()){

BkxxBomybo=newBkxxBo();

mybo.setHtid(rs.getString("htid"));

mybo.setHtbt(rs.getString("htbt"));

mybo.setYhid(rs.getString("yhid"));

mybo.setYhm(rs.getString("dlyhm"));

if(rs.getString("fbsj")!

=null&&rs.getString("fbsj").length()>=10){

mybo.setFbsj(rs.getString("fbsj").substring(0,10));

}else{

mybo.setFbsj(rs.getString("fbsj"));

}

;

if(rs.getString("bknr")!

=null&&rs.getString("bknr").length()>=100){

mybo.setBknr(rs.getString("bknr").substring(0,100));

-----------------------------------------------------

bkxxlist.add(mybo);//把mybo集合里面的信息传入bkxxlist序列中

---------------------------------------------------------

 

4.2登录界面

前台:

dlym.jsp

<%@pageimport="java.util.*;"%>

--判断登录名或者密码是否为空,若为空弹出提示框-->

functionyhdl(){

window.location.href='dlym.jsp';

returntrue

}

functiondosubmit(){

varyhm=document.getElementById("yhm").value;

varmm=document.getElementById("mm").value;

if(yhm==null||yhm==""){

alert("用户名不能为空!

");

returnfalse;

}

if(mm==null||mm==""){

alert("密码不能为空!

");

returnfalse;

}

}

--定义返回页面-->

functionreturn_bkxxlistpage(){

window.location.href="/zxbk/viewshouye.do";

}

------------------------------------------

formaction="dlxx.do"onsubmit="returndosubmit();">

WelcometoMyHouse

用户名:

>//输入用户名

密   码:

>

--输入秘密-->

//提交前台输入的用户名及密码到后台判断是否可以进入

form>

后台:

Action.java

//验证登录用户是否是本博客的博主

try{

ds=datasource.getDataSource();

DlDaodldao=newDlDao(ds);

DlBoyhxx=newDlBo();

//从数据库取出用户信息(yhxx)

yhxx=dldao.Dl(dlyhm,mm);

if(yhxx.getYhid()==null){

//用户登录失败

myforward=actionMapping.findForward("Error");

ActionErrorserrors=newActionErrors();

saveErrors(httpServletRequest,errors);

returnmyforward;

}

//用户登录成功,存储全局session

session.setAttribute("yhxx",yhxx);

httpServletRequest.setAttribute("yhxx",yhxx);

myforward=actionMapping.findForward("yhdlSuccess");

returnmyforward;

}

Dao.java:

//操作数据库

StringSql="selectt.*,t.rowidfromYHDLXXtwheret.dlyhm=?

andt.mm=?

";

try{

conn=ds.getConnection();

pstmt=conn.prepareStatement(Sql);

pstmt.setString(1,dlyhm);

pstmt.setString(2,mm);

rs=pstmt.executeQuery();

//迭代循环取出登录用户属性值放入yhqx数据集里面

while(rs.next()){

yhqx.setYhid(rs.getString("yhid"));

yhqx.setDlyhm(rs.getString("dlyhm"));

yhqx.setMm(rs.getString("mm"));

}

4.3个人主页界面

前台:

grzy.jsp

--显示博主们发表的文章标题和部分文章内容-->

presentname="bkxxlist">

iterateid="types"name="bkxxlist">

defineid="htid"name="types"property="htid"/>

writename="types"property="htid"/>

<%

java.util.HashMapmyMap=newjava.util.HashMap();

myMap.put("htid",htid);

pageContext.setAttribute("map",myMap);

%>

标题:

  

writename="types"property="htbt"/>

发表用户:

  

writename="types"property="yhm"/>

发表时间:

  

writename="types"property="fbsj"/>

 

发表内容:

  

linkaction="/ckhfhtxx.do"name="map">

writename="types"property="bknr"/>......

link>

 

iterate>

present>

后台:

Action.java,Dao.java

此操作过程与首页显示操作的数据库一致,只是显示的内容和格式有差异。

此处就省略不解释了。

4.4博主发表话题页面

前台:

fbht.jsp

--把前台的标题和发表内容属性值传到后台-->

formaction="addhtxx.do"method="post">

新增话题信息

话题标题:

textproperty="htbt"size="100">

text>

发表内容:

textareaproperty="bknr"cols="100"rows="3">

textarea>

form>

后台:

Action.java

try{ds=datasource.getDataSource();

BkxxActionFormbkxxactionform=(BkxxActionForm)form;

BkxxDaomydao=newBkxxDao(ds);

Stringdlyhm=checkBo.getDlyhm();

Stringdlyhid=checkBo.getYhid();

Stringhtbt=bkxxactionform.getHtbt();

Stringbknr=bkxxactionform.getBknr();

//操作数据库取最大话题ID

Stringmaxid=mydao.hqmaxhtid();

//调用addHtxx操作数据库取出b属性值拥有判断操作是否成功

booleanb=mydao.addHtxx(dlyhm,dlyhid,htbt,bknr,maxid);

if(b==false){

returnmapping.findForward("error");

}

}catch(Exceptione){

e.printStackTrace();

returnmapping.findForward("error");

}

returnmapping.findForward("addsuccess");

}

Dao.java

//操作数据库

try{

conn=ds.getConnection();

Stringsql="insertintohtxx(htid,htbt,bknr,yhid,fbsj)values(?

?

?

?

sysdate)";

pstmt=conn.prepareStatement(sql);

Stringa=Integer.parseInt(maxid)+1+"";

pstmt.setString(1,a);

pstmt.setString(2,htbt);

pstmt.setString(3,bknr);

pstmt.setString(4,dlyhid);

pstmt.executeUpdate();

}

4.5查看个人发表的文章

前台:

viewgrht.jsp

--显示个人发表的文章信息-->

presentname="grbkxxlist">

iterateid="types"name="grbkxxlist">

defineid="htid"name="types"property="htid"/>

writename="types"property="htid"/>

<%

java.util.HashMapmyMap=newjava.util.HashMap();

myMap.put("hti

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2