版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计总说明3 系统分析与设计4 1、需求分析4 2、功能设计4 3、数据库设计4 系统实现7 1、论坛枚!|览7 2、用户使用12 3、管理员使用17 心得体会20 参考文献20 设计总说明 一、课程设计的意义: 作为web程序设计课程的延伸,在学生完成了web程序设计课程的理论学 习后,安排的课程设计,旨在提高学生web程序开发水平,培养学生网络编程的能 力。 二、设计内容 设计一个网络论坛系统。 三、设计要求 系统功能: 1注册新用户:新用户填写注册表单,包括用户姓名、密码、联系方式等 信息;如 果输入用户名已被注册过,系统提示用户更改自己的用户名。 2、用户登录:输入用户名和密码;若用户
2、输入有误,系统将提示错误。 3、用户发表帖子;成功登录的用户可以发表帖子。 4、浏览帖子:成功登录的用户可以浏览其他用户发布的帖子。 5、用户注册信息修改:用户可以修改自己的注册信息。 6、用户退出登录:成功登录的用户可以使用该功能退出论坛系统。 系统分析与设计 1需求分析 开发一个论坛系统,首先需要确定论坛的功能是什么,也就是用户想要的论坛所能做的工 作。用户使用论坛是按照一定得流程来进行的:用户注册登录进 入论坛,就某个话题展开讨论, 通过发帖功能发布新的话题,通过回帖的功能回复己有的话题,通过搜索查找已有的话题;管理 员要管理论坛,系统需要具 有的功能管理注册的用户,管理帖子。这样的流程
3、就决定了论坛所应 具有的功能,路摊流程图如下: 通过上面的分析,总结论坛的功能有以下几项:论坛版块列表;浏览帖子;发帖回帖;搜索 帖子;删除帖子;用户注册;用户登录;控制用户权限;修改注册信息;管理用户。 论坛一般存在两种用户,注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下 级权限,管理员的权限是上级权限。 论坛系统的用户浏览信息功能,是用户讨论问题的平台,发帖、浏览。回帖一直贯穿用户的 整个活动。同时又有论坛系统的帖子管理是管理员在帖子浏览时进行的,只是一般用户没有权限 做这些动作。 2、功能设计 从需求分析可以找到,论坛功能分为用户使用各基本功能和管理员管理的功能。 论坛系统包
4、括以下主要功能: (1) 注册登录功能:用户注册,登录以及修改个人注册信息; (2) 浏览功能:用户浏览版块,查看帖子; (3) 发帖回帖功能:用户发帖、回帖; (4) 帖子管理功能:管理员删除帖子。 3、数据库设计 1概要设计: 通过对系统进行的需求分析和系统功能的确定,规划出系统中使用的数据库实体对象分别为用户 实体、管理员实体、发帖实体、回帖实体。 因此bbs论坛系统的E-R模型图为: (一)设计表 将E-R图转换为关系模型一般遵循如下原则: (1)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系 的码。 (2)一个联系转换为一个关系模式。与该联系相连的各实体的码
5、以及联系本身的属 性均转换为关系的属性,而关系的码为各实体码的组合。 (3)个l:n联系可以转换为一个独立的关系模式,也可以与n端对应的 关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的 属性均转换为关系的属性,而关系的码为n端实体的码。 (4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对 应的关系模式 合并。 根据上述原则设计的数据表如下: 用户实体:用户(用户名、密码、性别、年龄、邮箱、地址、图像、电话) 管理员实体:管理员(姓名、密码) 发帖实体:发帖(发帖人、编号、主题、内容、时间、浏览次数、回帖次数) 回帖实体:回帖(编号、主题、
6、内容、回帖时间) (二)设计数据字典 数据字典:bbs论坛系统会涉及大量的静态数据,如发帖主题、发帖内容、发帖时间、用户 年龄、用户性别、用户地址等,这些数据,其数据的组织结构 基本一致,现为该系统设计四个数 据字典:用户字典、管理员字典、发帖字典、回帖字典。 用户字典userna 属性名称 属性类型 是否可以为空 约束 含义 user_ name varchar2(30) NOT NULL 主键 用户名 password varchar2(20) NOT NULL 密码 sex nu mber (1) NOT NULL 只能为0和 1 性别 age date NULL 年龄 userface
7、 varchar2(6) NULL 图像 email varchar2(30) NULL 邮箱 address varchar2(20) NULL 地址 tel varchar2(11) NULL 电话 管理员字典gib: 属性名称 属性类型 是否可以为空 约束 含义 gl varchar2(20) NOT NULL 主键 姓名 pw varchar2(20) NOT NULL 密码 发帖字典: 属性名称 属性类型 是否可以为空 约束 含义 art_id nu mber NOT NULL 主键 编号 user_ name varchar2(20) XOT NULL 发帖人 author var
8、char2(20) NOT NULL 主题 content clbo NOT NULL 内容 issue_time date NULL 发帖时间 view_times nu mber NULL 浏览次数 reply_times nu mber NULL 回帖次数 回帖字典: 属性名称 属性类型 是否可以为空 约束 含义 re_id nu mber NOT NULL 编号 author varchar(20) NOT NULL 主题 content blob NOT NULL 内容 re_time date NOT NULL 回帖时间 系统实现 1论坛浏览 1、进入主页面 Er-吟 i U. i
9、-可-帚 黑旺L IT, a t *T1 :- 1 t Ifll憾1耳L I豹馬W S橄输PWB I:* 也祐fcinyra 書忖 71 fm r *1 A s 丿X Tta 耳裁上hot! iX. 駅 Ei 1. : TT: . It社-:V 咚*帚生 5卞析解W書月睛刖耳1塔帝町T 加卜IHF中的溯EJ. U黔予nUF strSfl 1 flMiM醉的気自”环丸三茫丑自2Pkt宙J3 I HA -ffdju fit jfiUBttfia r w V ffitcWElB :-a 駆血哉切 DT瞬n*站巴 履却悻I?建绘 m txff USJ転殴1毘田已肆,E矜冈户审 恫诙時 FWH 子 标題
10、 点缶戟I甘创 卜 斟诘.二丄卩|丨-主:*N笙 ?1!1 1-131-1 uro -(: ! 26 2 ?01 inC-; 0 OD: -MD 623 T -r 丄1 卡午户:心、忙左 ni(M6-口 Qaaniat 曰hF V2 1. 玩曲巧住 TfllS-nC-rOIiQGCG 卜m 33 5. XK: I III -11D ri r: Q5 c J 捞口,“常的!! fi有一 无也可rj. n-cst 首西 2dlO-6-13QDIK)DOD 聞r 力 樹矜K /卜风 Q 少吃-匚沉亍讯戈能:壬君 ?013 0-r CD CKi-GOO 叮育串附月 C Iiursr irum rcoi
11、 址汕 I 訓口rhi! FH Fit P is?缶赵 M Z 代码实现如下: bgcolor二#CCCCFF vform action=”method二post name=/paidui, vtable width二900 border二0 cellspacing二0 div align=,zright 按时I可降排丿予 voption value=,/l,/ voption value=,/2z, voption value=,/3, 按时间升排序 按浏览降排序 按浏览升排序 v/option v/option v/divx/td vtd width二78vdiv vinput type二
12、submit align=zzcenterz/ name二ok value=z/ 浏览/ v/divv/td vtable width二900 border二1 cellspacing二0 bordercolor二#999999 bgcolor二#CCCCCC 标题 发帖时 I可/div/td 发巾占人 divalign=/zcenterz, 点击数 divalign=/center,回帖数 /tt所有帖子 % Stri ng px=requestgetParameter(paixu); try Connection con=DriverManager getConnection(url, u
13、ser, password); Statement st=con createStatement(); ResultSet rs=null; Stri ng sql=/,select user_ name, author, issue_time, view_times, reply_times from articles_bbs if(px=n ull); else if(px. equals (O) sql=sql+,zorder by issue_time desc; else if (px. equals (,zl,z) sql二sql+order by issue_timez,; el
14、se if (px. equals (,Z2Z/) sql=sql+z,order by view_times desc; else 辻(px. equals (3) sql=sql+,zorder by view_times,/; rs=st. executeQuery (sql); int i二0; while(rs. next() out. pri nt (,8 href=/z+,zfatie. jsp?id=z/+java. net. URLE ncoder. e ncode (rs. getStri ng(2)+ +i+、 +rs. getString (2) +,zv/av/div
15、v/td?,); out. pri nt(td+rs. getStri ng(3)+/td); out. pri nt (z/+rs. getStri ng(1)+/ out. pri nt (,z/z+rs. getStri ng (4)+/td); out. pri nt (z/,z+rs. getStri ng (5)+,/,/); con. close (); catch(SQLExcepti on el)out.pri nt(el); % v/formv/table 浏览帖子:该页面主要显示每个帖子的内容和回帖内容以及相应的用户信息,效果 图如下: 201冷IF 闿戸- 忙捱托SiT
16、/tJA, 冏严,迪i fl严 if(tijiaotel. value len gthll tijiao. tel. value len gthl) alert r电话未填!); return false; if(tijiaopw. valuele ngth 数据按要求填写后就提交跳转到注册成功页面,该页面主要执行sql数据插入语 句。 2、登录 用户登录成功效果图如下: 立阿环一处腹盟t號咄 此出蜒#用户Hal f肯屢花脇十用P智21書曙I卩睡1 登录成功后可以出现用户登录状态,并且拥有发帖和回帖的权限以及退出操作。 用户状态在切换页面也不会改变。登录代码如下: requestsetChar
17、acterE ncodi ng(gb2312); Stri ng usernamerequestgetParameter(user); Stri ng pw=requestgetParameter(uscrpw); int k二0; try Connection con=DriverManager getConnection(url, user, password); Statement st二con createStatement(); ResultSet rs=null; rs=st.executeQuery (selectuser_name, password from usersna
18、where user_name=n +username+,z; rs. n ext (); int i二rs getRowO ; if (sessi on. getAttribute(z/userz,) !=nu II) k=k+l; 辻(i=0 else if (String valueOf(pw) equals(rs getString(2) out. pri nt (欢迎+username+成 员登录href二+fatiezi. jsp+ 发帖/a /+a href二+zhuxiao. jsp+退出登录 /); sessi on. setAttribute (z/userz user n
19、ame); else out. pri nt C 你还未登录论坛/); con. close (); _ catch(SQLExceptio n el) out. pri nt C彳尔还未登录论坛/); 3、回帖 效果图如上浏览帖子哪版,是与帖子一起的,其中用JavaScript限制了内容不 为空以及用 session对象来确定是否登录来判断有无回帖权利。代码如卜: vscript Ian guage=/zjavascriptz/ fun ctio n check (form) if (form co nte nt. value=,z n ) 请填写内容! ); return false; v
20、form method二posact ion 二”onSubmi t=z,re turncheck (this)/z style二MARGIN-B0TT0M0px 回帖内容: TDwidth二753 height=301/, vtextarea name二contentrows=20 cols=80 n ame=,c onten tX/textarea TD height二36 colspan=2 align二center input type二submit value二回帖 ” name二submit requestsetCharacterE ncodi ng(gb2312); Stri n
21、g conten t=reques t get Parameter (z/co nte nt); if (conten t!二null) try Connection con=DriverManager getConnection(url, user, password); Statement st二con createStatement(); ResultSet rs=null; st. executeUpdate(” update articles_bbs set reply_times二reply_times+l where authoH +un+八); rs=stexecuteQuer
22、y(select art_id from articles_bbs where author=+im+); rs. n ext (); Stri ng num二rsgetStri ng(l); st. executeUpdate (,zi nsert into replies_bbs (re_id, author, repco nt, re_time) values (5 /,+num+,T,+sessio n. getAttribute (user) +co nte nt+, sys date),z); conten t=; out. print r 回帖成功); catch(SQLExce
23、ption el) outprint (“ 4、发帖 效果图如下: 论坛话题发祎 主匝| 族布砲|全常垂嗨! 同样用JavaScript限制了内容标题不为空,以及用session对象获得用户信息,存入数据 库;代码如下: “坛话题发布/b TDwidth=16% div align=right主 题: CTDwidth二84% CTDwidth=16% TDwidth二90% height二300 TDheight二35 colspan=2 align=center input type二:reset 全部重写 name二B2 v/TABLE v/form request. setCharac
24、terE ncodi ng(gb2312); String author=request getParameter (z,author/z); String con te nt二requestgetParameter Cc on te nt); Date curDate=new Date(new java .util. Date(). getTime(); javatextSimpleDateFormat formatter =new javatext. SimpleDateFormat(yyyy-MM-dd hh:mm:ss); Stri ng t二formatter. format(cur
25、Date); out pri nt (t); if(author!=n ull) try Connection con=DriverManager getConnection(url, user, password); Statement st二con. createStatement(); ResuItSet rs二null; rs=stexecuteQuery(select max(art_id) from articles_bbs); rs. n ext (); int sm二rsgetlnt(1)+1; st. executeUpdate Ci nsert into articles_
26、bbs(art_id, user_ name, author, co nte nt, issue_time, view_times, re ply_times) values( +sm+ +sessio n. getAttribute(user)+ , +author+ , +co nte nt+ , sysdate,O,O); out. print C发帖成功); catch (SQLException el) out. print (,?发巾占失败); 3、管理员使用 1.、管理员登录效果图如下: 代码如卜: vtd width二60管理员: v/td 密码:C/td 登陆成功则进入管理页
27、面 2、删帖 效果图如下: M人 1如 n 1.屮裁扎 凶.(Xi lonnooooo T. lLWt r. .1J :Hi ri)上门门的1 P占西口 20111J 加-I-UHJ CO 00C 戈您敌日 H 1 亠岀歼:邇心毀奧哎E 刘(J iAi-MQO*XltJC *89 5 L 兀斑1:虫前起于 卜见 35 0 2Din-36-T50jXi oac 12 1 -刖耐歪帀沖回避瑚鼬 2G6 011.00: MC A 3 3LJU*u - 4? 匕 1 j: 1 t|i- .L,M; .ril/ table width二900 border=0 cellspacing二0 divalig
28、n二right align二center td width二78div /divv/td v/div td width二50div align二center册【J否 divalign=/,center 标题 div align二center发帖时 I可 发巾占人 td width二50div align二center点击数 td width二50div align二center回帖数 /tr所有帖子 td 0; name=/z+z/dele user_ name, author, issue_time, view_times, reply_times out. pri nt(divalig n=+lef+a href=,+,zfatie.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《4 生物的分类》课件
- 医疗卫生设备维护管理制度
- 国防建设目标
- 2024年山东客运上岗考试都考什么
- 2024年西安客运从业资格证操作考试题及答案
- 2024年衡阳道路旅客运输驾驶员从业资格考试
- 2024年清远客运从业资格证的考题
- 2024年西宁客运从业资格模拟考试
- 2024年湖州道路客运资格证考试题
- 2024年焦作客运从业资格证考试模板
- (正式版)JTT 1482-2023 道路运输安全监督检查规范
- 人工智能算力中心平台建设及运营项目可行性研究报告
- MOOC 综合英语-中南大学 中国大学慕课答案
- 2024年山东省潍坊市高三二模语文高分范文2篇:简单并不简单
- 幼儿园主题网络图
- MOOC 人像摄影-中国传媒大学 中国大学慕课答案
- 《印学话西泠》参考课件
- MOOC 计算机组成原理-电子科技大学 中国大学慕课答案
- 2024年江苏无锡市江阴市江南水务股份有限公司招聘笔试参考题库含答案解析
- 中学教材、教辅征订管理制度
- (高清版)DZT 0213-2002 冶金、化工石灰岩及白云岩、水泥原料矿产地质勘查规范
评论
0/150
提交评论