版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . JSP程序设计-课程设计基于JSP技术开发的BBS论坛系统院 系:专业班级:组 长:2010年 12 月 15 日摘 要当今,随着网络的迅速发展,制作BBS论坛的技术和方法也越来越多。本文主要讲述利用Java Web的相关技术来制作一个简单论坛。通过实际制作,实现了BBS论坛系统应有的一些基本功能,如:登陆功能,通过在登陆界面输入用户名和密码来实现会员的登录,用户只有登录成功了才能进行一系列的操作;注册功能,用户首次登陆,需要先注册,注册时需要用户填写个人信息;找回密码功能,当用户忘记密码时可以通过此功能找回密码,找回密码时需要用户记得注册时填写的个人信息。除此之外,还有浏览帖子、发表帖
2、子、回复贴子以与删除帖子等等功能。制作本论坛所用的前台软件是MyEclipse,后台数据库是MySQL,运行时所用的服务器是Tomcat,综合运用了HTML、JSP以与JavaScript语言。关键词:BBS 论坛; JSP 技术; 登陆;注册; 找回密码;浏览贴子; 发表帖子; 回复贴子; 删除帖子目 录一、概论1(一)、BBS历史背景1(二)、BBS制作目的1(四)、BBS制作的局限性2二、相关软件、技术介绍与开发环境的选择2(一)、开发环境介绍2(二)、JDK(Java Development Kit)2(三)、MyEclipse6.5软件的简单介绍3(四)、MySQL数据库介绍3(五)
3、、JSP(Java Server Pages)网页设计技术介绍3(六)、Tomcat5.5服务器介绍3三、应用需求分析3(一)、用户登录和注册功能4(二)、用户找回密码功能4(三)、用户帖子的浏览5(五)、用户回复他人帖子6(六)、管理员对帖子的查看/发表/删除功能6四、系统总体设计7(一)、系统结构设计7(二)、数据库设计8五、系统详细设计10(一)、建立数据库与数据库表10(二)、用户登录功能的实现11(三)、用户发表新帖子页面的制作1214 / 17一、概论当前形势下,BBS论坛种类繁多,通过BBS可随时取得国际最新的软件与信息,也可以通过BBS来和别人讨论计算机软件、硬件、Intern
4、et、多媒体、程序设计以与医学等等各种有趣的话题,更可以利用BBS来刊登一些“征友”、“廉价转让”与“公司产品”等启事。只要您拥有1台计算机、1只调制解调器和1条线,就能够进入这个“超时代”的领域。(一)、BBS历史背景BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。早期的BBS与一般街头和校园的公告板性质一样,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普与之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普与
5、开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。(二)、BBS制作目的BBS论坛是一种比较好的交流平台,他能方便人们进行即时在线交流,发表各种信息,实现网络资源的共享。而且,也能促使人们敞开心扉去学习知识、追求进步,以至于能更好的利用网络资源。 (三)、BBS制作的可行性 随着计算机软件的迅速发展,BBS的界面效果越来越美观,功能、作用和围也得到了迅速扩大。与此同时,制作BBS论坛的方法和所用的软件种类也越来越多了。而在这里,我将采用基于JSP网页技术的方法进行简单的BBS论坛制作。我所用的开发软件是MyEclipse6.5,它是一款可以做基础Java项目开发的工具;JDK1
6、.6,当前进行Java开发的最新版本;数据库是MySQL,它是一款当前比较流行的进行中小量数据开发的中小型数据库;服务器是Tomcat5.5,它也是一款当前比较流行的软件,主要用于网络服务器的开发。(四)、BBS制作的局限性 此次BBS论坛制作的界面效果比较粗糙,功能也不是很强大,但幸好一些基本的功能都还有,比如,用户(或管理员)登陆,发表新的帖子,查看已存在的帖子,回复别人发表的帖子(也叫跟帖)以与管理员删除垃圾帖子或着垃圾的跟帖等等。但是像一些高级功能,比如,搜寻或查找帖子的功能,上传图片或文件的功能,个人空间的功能等。由于本人所学知识以与能力地限制,并没能将其实现。二、相关软件、技术介绍
7、与开发环境的选择(一)、开发环境介绍1、硬件环境与软件环境要求服务器端硬件处理器:Intel P4或更好存:1G 或更大硬盘剩余空间:2G 或更大软件Microsoft Windows XP或更高版本JDK1.60或更高版本MyEclipse6.0或更高版本MySQL5.0或更高版本Tomcat5.5或更高版本Microsoft IE6.0浏览器或更高版本客户机端硬件一般联网的计算机均可软件Microsoft Windows XP 或更高版本Microsoft IE 6.0或更高版本2、制作工具JDK1.6用于Java程序的解释执行,MyEclipse6.5提供了一个良好的开发界面,MySQL
8、5.0用于数据库的连接,Tomcat5.5 Web服务器用于运行此项目。(二)、JDK(Java Development Kit)JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。(三)、MyEclipse6.5软件的简单介绍MyEclipse 6.5集中了开源和商业软件的开发支持的大多数框架,方便易用,功能强大,获得了广大开发人员的喜爱。它支持开发调试基于Spring, Hibernate,Struts, JSF,
9、JPA, E, Web Service 等 Java EE 技术的项目。(四)、MySQL数据库介绍MySQL是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型为了降低总体拥有成本而选择了MySQL作为数据库。(五)、JSP(Java Server Pages)网页设计技术介绍JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JS
10、P标记(tag),从而形成JSP文件(*.jsp)。 (六)、Tomcat5.5服务器介绍Tomcat 服务器是一个免费的开放源代码的Web 应用服务器, Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。三、应用需求分析作为一个BBS论坛,它应该具有BBS所有的一些基本功能,包括:用户登陆功能,用户取回密码功能,用户浏览帖子的功能以与用户发表、回复、修改和删除帖子的功能等。接下来,我将详细阐述一下这些功能。(一)、用户登录和注册功能进入登录页面后,对于第一次登陆的用户来说,首先需要注册,单击“新用户注册”按钮即可
11、进入注册界面,注册完成后返回登录界面。然后,在对应的地方分别输入用户名和密码,点击“登录”按钮,系统即将用户名和密码发送到网络服务器上,与保存在服务器数据库中的信息进行核对。若核对正确,则进入帖子浏览的界面,若不正确,则重新返回登录界面。注册界面如下所示:图4-1用户登录界面(二)、用户找回密码功能 在有些时候,我们可能会忘记登录密码,这时就用到了密码找回功能,通过正确的回答当初注册时的一些信息即可取回密码。图4-2 密码找回(三)、用户帖子的浏览 当用户登录成功后便进入该页面,在该页面可以浏览他人已经发表的主题帖子,图4-3 帖子浏览在主题页面中主要有两部分组成,一是用户的个人信息,再就是他
12、人已经发表的主题帖子,每个帖子都包含了一些简单信息:主题、作者和时间。(四)、用户帖子的发布/修改/删除功能登陆成功进入主题页面后,点击“发表新的主题文章”按钮后,便可进入发表帖子的界面。在该页面中填写完信息,点击“发送新的主题”即可。图4-4发表新话题(五)、用户回复他人帖子打开他人的帖子,点击“我要回复”便可对该贴进行回复,如要想对其他回复此贴的人进行回复,可以点击回复(如图4-6)对其进行回复。图4-6 帖子回复(六)、管理员对帖子的查看/发表/删除功能1、管理员查看或发表帖子管理员查看或发表帖子与普通用户的一样。2、管理员删除帖子管理员删除帖子与普通用户的区别在于,他可以删除任何人发表
13、的贴子,另外他还有一项特权,就是可以删除任何人回复的垃圾帖子。四、系统总体设计(一)、系统结构设计本BBS论坛系统共分为三大功能模块:(1) 登陆管理功能系统;(2) 注册功能系统;(3) 找回密码功能系统。登陆管理功能系统,又包括四个子模块:单纯的用户登录模块,用户发表帖子模块,用户回复他人帖子模块和用户删除自己所发表的帖子模块。1、 各个页面的功能与示意图有两个页面用于基本功能的实现,被其它页面所调用:页面名称主要功能用于实现基本功能Opendata.jsp打开数据库Convert.jsp用于字符的转换其余的页面如下表所示:各个模块页面名称页面功能开始登陆的界面Login.html系统启动
14、时的首页登录管理功能系统Enter.jsp用于判断用户名和密码是否正确MainForm.jsp登陆成功后转入该页面Discuss.jsp浏览主题帖子的页面,在这可以查看各类帖子Person.jsp显示个人信息的页面NewTitle.jsp发表新的主题帖子的页面SaveNewTitle.jsp将新发表的帖子存入数据库表Discuss中Detail.jsp用于显示帖子的容与回复该帖的容SaveRevert.jsp将回复容存入数据库表Reply中Delete.jsp用于删除帖子注册功能系统Register.jsp该界面用于新用户注册SaveRegister.jsp保存新用户注册信息到数据库表Stud
15、ent中找回密码功能系统GetPassword.jsp用于用户找回密码(二)、数据库设计1、用户信息表Student表名:Student用户信息表Student包括八个字段:即,ID(用户的标识符)、USERNAME(用户名)、PASSWORD(用户密码)、SEX(性别)、AGE(年龄)、BIRTH(生日)、TELEPHONE(联系)、EMAIL(电子)等。STUDENT表的属性如下图所示: STUDENT表的容如下图所示:2、存储帖子所用的信息表DISCUSS表名:DISCUSS信息表DISCUSS包括七个字段:即,NAME(发帖人的昵称)、EMAIL(电子)、SUBJECT(帖子的主题)、
16、CONTENT(帖子的容)、TIME(发帖的时间)、USERNAME(用户名)、ID(帖子的标识)等。表的属性: 表的容:3、存储回复帖子的信息表REPLY表名:REPLY信息表REPLY包括五个字段:即,NAME(回帖人的昵称)、CONTENT(回帖的容)、TIME(回帖的时间)、REPLY(所回复的主贴的标识符)、ID(回复贴的标识符)等。表的属性: 表的容:五、系统详细设计(一)、建立数据库与数据库表建立一个数据库Test和三个数据库表(STUDENT、DISCUSS和REPLY)。首先在MyEclipse6.5软件里配置MySQL5.0,配置完成后在MyEclipse界面里建立名为“T
17、est”的数据库,然后再建立三个数据库表(STUDENT、DISCUSS和REPLY)。创建表student:stmt.executeUpdate("create table student(id int not null auto_increment," +"username varchar(20) unique," +"password varchar(20) not null," +"sex varchar(8) not null,"+"age varchar(4) ,"+"bi
18、rth varchar(20) not null,"+"telephone varchar(12),"+"email varchar(40) not null," +"primary key (id)");创建表discuss:stmt.executeUpdate("create table discuss(name char(20) not null,"+"email char(40) not null,"+"subject char(60) not null,"
19、+"content text not null,"+"time char(40),"+"username char(20),"+"id int not null auto_increment,primary key (id)");创建表reply:stmt.executeUpdate("create table reply(name char(20) not null,"+"content text not null,"+"time char(40),reply i
20、nt,"+"id int not null auto_increment,"+"primary key (id)");(二)、用户登录功能的实现1、 登陆界面的制作(1)JavaScript标记语言判断输入的用户名和密码是否为空:<script type=text/javascript>/ 验证输入不为空的脚本代码 function checkForm(form) if(form.username.value = "") alert("用户名不能为空!");form.username.focu
21、s();return false;if(form.password.value = "") alert("密码不能为空!");form.password.focus();return false;return true;</script>(2)登陆界面的制作:<table border=0><form action="enter.jsp" method="post" onsubmit="return checkForm(this);"><tr>&l
22、t;td><h2>用户名:</td><td><h3><input type="text" name="username"></td></tr><tr><td><h2>密码 :</td><td><h3><input type="password" name="password"></td></tr><tr>&l
23、t;td><input type="submit" value="登录" name="submit1" ></td><td><input type="reset" value="重置" name="reset1"></td></tr></form><tr><td><form action="getPassword.jsp" method=
24、post ><input type="submit" value="取回密码" name="getpass"></form></td><td><form action="register.jsp" method=post ><input type="submit" value="新用户注册" name="regist"></form></td></t
25、r></table>2、 登陆功能的实现通过Login.html界面传递参数username 和 password 给Enter.jsp界面,然后查询数据库,判断用户名和密码是否正确。若判断正确则为用户建立一个session,并进入了用户主界面。<%String username = request.getParameter("username");/参数传递,用户名String password = request.getParameter("password");/参数传递,密码PreparedStatement pstmt
26、= null;/ 数据库表达式sql = "select * from Student where username = ? and password= ?"/ SQL语句pstmt = conn.prepareStatement(sql);pstmt.setString(1, username);pstmt.setString(2, password);rs = pstmt.executeQuery();if (rs.next() /request.getSession(true);/创建session/保存登录用户到session中session.putValue(&q
27、uot;username", username);session.putValue("password", password);session.putValue("userIP", request.getRemoteAddr();session.putValue("enter", "true");/登录成功主题页面response.sendRedirect("MainForm.jsp"); elseresponse.sendRedirect("login.html"
28、);/登陆失败转向登录页面%>(三)、用户发表新帖子页面的制作 1、NewTitle.jsp页面发表新的主题文章 此界面提供用户输入功能,输入完成后“发表心得主题”按钮便可提交数据给SaveNewTitle.jsp页面:<form action=saveNewTitle.jsp?pageNO=1 method=post onsubmit="return checkForm(this);"> <table border=2> <tr bgcolor=yellow> <td><pre><center>
29、</td><td><input type=text size=20 name=name></td> </tr> <tr bgcolor=yellow> <td><pre><center>E-mail</td><td><input type=text size=40 name=email></td> </tr> <tr bgcolor=yellow> <td><pre><center>
30、;主题</td><td><input type=text size=60 name=subject></td> </tr> <tr valign=top bgcolor=yellow> <td><pre><center>容</td><td><textarea rows=10 cols=60 name=content></textarea></td> </tr> <tr align=center> <
31、td colspan=2><input type=submit value=发送新的主题 name=send ><input type=reset value=清除重写></td> </tr> </table> <hr> <a href=discuss.jsp?pageNO=1>返回主页</a></form>2、SaveNewTitle.jsp页面用于保存由NewTitle.jsp页面传来的数据信息首先将传递来的数据进行转换,然后将其插入数据库Discuss中:<%Strin
32、g name = request.getParameter("name");String email = request.getParameter("email");String subject = request.getParameter("subject");String content = request.getParameter("content");int year, month, day, hour, minute, second;String time;GregorianCalendar calendar;calendar = new GregorianCalendar();year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH) + 1;day = calendar.get(Calendar.DAY_OF_MONTH);hour = calendar.get(Calendar.HOUR_OF_DAY);minute = calendar.get(Calendar.MINUTE);second = calendar.get(Calendar.SECO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江国企招聘2025中交华东物资有限公司招聘6人笔试参考题库附带答案详解(3卷合一版)
- 2025年大连石化分公司秋季高校毕业生招聘180人笔试参考题库附带答案详解(3卷)
- 2025届大商所飞泰测试技术有限公司校园招聘笔试参考题库附带答案详解(3卷)
- 2025天津渤天智盛电气安装有限责任公司招聘2人笔试参考题库附带答案详解(3卷)
- 深圳市2024年3月广东深圳市光明区住房和建设局选聘特聘岗位专干1人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 雕刻工艺合同范本
- 钢材供销简易合同范本
- 幼儿教育大班下学期语言像狼一样嚎叫详案教案
- 成立公司的合同范本
- 咨询公司转让合同范本
- 统编版高中政治必修二经济与社会 选择题 专项练习题(含答案)
- 《恒X地产集团地区公司管理办法》(16年12月发文版)
- 2025年10月自考00688设计概论试题及答案
- 六西格玛设计实例
- 海南槟榔承包协议书
- 工业交换机产品培训
- 2025浙江温州市龙港市国有企业招聘产业基金人员3人笔试历年备考题库附带答案详解试卷3套
- 《十五五规划》客观测试题及答案解析(二十届四中全会)
- DB32-T 1086-2022 高速公路建设项目档案管理规范
- 代码开发安全培训课件
- (2025年标准)科研资助经费协议书
评论
0/150
提交评论