《数据库毕业论文》word版.doc_第1页
《数据库毕业论文》word版.doc_第2页
《数据库毕业论文》word版.doc_第3页
《数据库毕业论文》word版.doc_第4页
《数据库毕业论文》word版.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 绪论第1章绪论1.1选题背景Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了MySql数据库作为JDBC数据源,并以先进的JDBC技术进行数据库存取等操作,使Web与数据库紧密联系起来。整个个性化页面生成系统主要由使用Dreamweaver_MX开发的关联规则采掘系统和利用Freemarker+Tomcat技术实现的个性化Web页面生成器两部分组成。关联第 1 页 共 31 页河北师范大学职技学院学士学位论文规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户行为和根据关联规则表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。本文作者主要完成Web服务器端的用户管理、帖子管理、版面管理、数据库管理、浏览和查找、短消息功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。第 2 页 共 31 页第2章系统技术及运行环境2.1 Freemarker技术简介FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件。FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境。FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库,FreeMarker是免费的。 Freemarker程序的优点:1、通用目标(1)能够生成各种文本:HTML、XML、RTF、Java源代码等等。(2)易于嵌入到你的产品中:轻量级;不需要Servlet环境。(3)插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等。(4)你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器。2、强大的模板语言(1)所有常用的指令:include、if/elseif/else、循环结构。(2)在模板中创建和改变变量。(3)几乎在任何地方都可以使用复杂表达式来指定值。(4)命名的宏,可以具有位置参数和嵌套内容。第 2 页 共 31 页河北师范大学职技学院学士学位论文(5)名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突。(6)输出转换块:在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;你可以定义自己的转换。3、通用数据模第3页 共 1 页第2章 系统技术及运行环境(1)FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示。(2)你可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰。4、为Web准备(1)在模板语言中内建处理典型Web相关任务(如HTML转义)的结构。(2)能够集成到Model2 Web应用框架中作为JSP的替代。(3)支持JSP标记库。(4)为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计和程序员。5、智能的国际化和本地化(1)字符集智能化(内部使用UNICODE)。(2)数字格式本地化敏感。(3)日期和时间格式本地化敏感。(4)非US字符集可以用作标识(如变量名)。(5)多种不同语言的相同模板。6、强大的XML处理能力(1) 和指令(2.3版本)用于递归遍历XML树。(2)在模板中清楚和直觉的访问XML对象模型。2.2 MySql技术简介MySql就是关系数据库开发工具,数据库能汇集各种信息以供查询,存储和检索。那么什么叫数据库呢?数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。一个数据库中,包含了许多条记录(Record),而每条记录是由多个字段(Field)所组成,不同的字段存放这不同的数据。所以数据库的严格定义第3页 共 35 页河北师范大学职技学院学士学位论文是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位。在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理管理系统(Database Management System DBMS)。数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。 MySql 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,MySql 允许创建自定义报表用于打印或输出数据库中的信息。MySql也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,MySql 作为关系数据库开发具备了许多优点,可以在一个数据第4页 共 35 页河北师范大学职技学院学士学位论文第4页 共 35 页第2章 系统技术及运行环境中同时拥有桌面数据库的便利和关系数据库的强大功能。2.3利用JDBC访问数据库JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制,是应用程序和数据库之间的桥梁。二、创建数据库链接(Connection) 链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。在本系统中如果要访问数据,必须首先创建与数据库的链接,其语法如下:Class.forName(com.mysql.jdbc.Driver);Connectionconn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/forum?user=root&password=123456&autoReconnect=true);这条语句创建了链接对象Conn,接下来: Statement p = conn.createStatement();第5页 共 34 页第2章 系统技术及运行环境三、定义数据对象(Record Set)ResultSet rs = null;四、操作数据库我们通过调用链接对象的ExecuteQuery方法来将查询结果返回给一个数据对象。例如:rs = p.executeQuery(“select * from class”);执行查询操作或通过调用链接对象的Execute方法进行插入、删除等操作例如:p.execute(“INSERT INTO tab1 VALUES(1,2)”);执行插入操作五、关闭数据对象和链接对象在使用了数据库操作对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。if (rs != null) try rs.close();第5页 共 31 页河北师范大学职技学院学士学位论文 catch (Exception e) 关闭创建的数据对象if (p != null) try p.close(); catch (Exception e) if (conn != null) try conn.close(); catch (Exception e) 关闭创建的链接对象第6页 共 34 页河北师范大学职技学院学士学位论文2.4 SQL语句简介1,SQL 语句简介SQL全称是结构化查询语言(Structured Query Language),SQL包含4个部分:(1)数据查询语言DQL-Data Query Language SELECT(2)据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE (3)数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP(4)数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK 2,SQL的优点(1) 非过程化语言(2) 统一的语言SQL为许多任务提供了命令,包括:查询数据,数据更新,在表中插入记录,在表中修改记录,在表中删除记录,建立,修改和删除数据对象,控制对数据和数据对象的存取,保证数据库一致性和完整性,以前的数据库管理系统为第6页 共 31 页第2章 系统技术及运行环境上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。(3) 是所有关系数据库的公共语言 由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是大多数关系型数据库用做查询语言的语言。它是可以移植的,并且容易学习使用,但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。2.5 Tomcat简介1,Tomcat的安装Aapche组织提供的WEB服务器组件TOMCAT的安装方法,双击安装文件,就会弹出如图2-1所示的WINDOWS组件向导对话框.在其中选择文件安装目录,然后单击下一步按钮,随后根据系统提示一步一步的操作即完成TOMCAT的安装。第8页 共 34 页第2章 系统技术及运行环境第7页 共 31 页图2-1 TOMCAT安装2,TOMCAT基本设置在安装过程中,配置tomcat的基本设置,设置访问端口为80,设置admin用户的访问密码,如下图所示,虚拟目录的设置及其他设置,需设置于tomcat下的第7页 共 31 页河北师范大学职技学院学士学位论文conf/server.xml文件图2-2 Tomcat基本设置第8页 共 34 页河北师范大学职技学院学士学位论文第8页 共 31 页第2章 系统技术及运行环境2.6 运行环境为了保证成绩管理系统运行的效率和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端: Windows95/98/2000/XP,Internet Explorer(IE)等。服务器端:Windows NT/Windows2000,TOMCAT5.0及其以上版本,IE等;或者Windows 2003 SERVER,Personal Web Server(PWS),IE等。数据库:采用MySql5.0,运行于服务器端。最低硬件环境:服务器 CPU:PIII 500以上 ,内存:512M以上。客户机 CPU:P200MMX以上,内存:32M以上。第3章 需求分析第9页 共 34 页第3章 需求分析第3章 需求分析3.1 编写目的在网络技术逐渐渗入社会生活各个层面的今天,以前网站上的论坛管理系统要用户登陆以后才能进行相关访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统,用户可选择自己的看法。所以我提出了本课题的研究。3.2 任务目标3.2.1 基本性能系统包括主要的功能:新用户的注册,会员密码取回,会员登录,用户自己修改信息,管理员删除用户,游客浏览留言,会员新增留言,会员留言回复,管理员删除留言这些功能,可以应付一般的用户需要。3.2.2 开发目标这个系统预期的目的是为了做成交互式的网页,方便客户端和浏览器端之间的交流。通过论坛,人们能够相互交流沟通,把疑惑在论坛里公布,大家献计献策,共同学习,共同进步。3.2.3 应用目标网上论坛系统是一个会员登录留言系统。网上游客能够浏览论坛上的帖子,并且能够注册成为用户。论坛注册会员能够修改自己的资料信息,申请版主,发表帖第9页 共 31 页河北师范大学职技学院学士学位论文子,让大家积极参与讨论。论坛管理员能够便于管理论坛,包括浏览游客留言,审核留言,对于不健康或是不利于社会稳定的留言能进行删除操作,会员管理以及论坛版主管理等等。第11页 共 34 页河北师范大学职技学院学士学位论文第4章 总体设计4.1系统设计思想4.1.1网上论坛系统说明此网上论坛可以实现:游 客:查看帖子、注册新用户。注册用户:查看帖子、发新帖子、在线发布信息、回复信息、修改个人资料、在线短消息。 管理员:发布公告、帖子管理、论坛设置、版面管理、会员管理、友情连接、短消息管理、数据库备份。4.1.2网上论坛系统总体分析通过上面的功能说明,我们可以将论坛的制作分为四大部分:(1) 会员注册和登陆模块:这个模块的功能,就是新来网友可以填写注册资料 ,通过审核后便成为本论坛的正式会员,并可以以会员身份登陆论坛。 (2) 版块及文章显示模块:显示论坛的各大版块和所有会员最新发表的一些文章主题。(3) 发表文章模块:为会员提供发表文章的地方,以及回复主题等。(4) 论坛管理模块:版主以上职务可以进行对文章处理,置顶,加精华,删除等,还有就是管理员对论坛进行综合管理。了解了具体的功能需求后,就可以按模块的开始论坛的设计了。当然,这些模块的只是在功能上对论坛结构的划分,实际上并不能够完全的把他们独立出来进行设计。对于这种较小的应用,也没有必要进行完全的模块化设计,在良好的规划下直接写程序代码或许来的更为简单一些。4.1.2 MVC总体设计模式MVC最初是在Smalltalk-80中被用来构建用户界面的。M代表模型Model, V代表视图 View, C代表 控制器Controller。MVC的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度。 同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性大大提高。单用户的应用通常是以事件驱动的用户界面为组织结构的。开发人员用一个界面工第10页 共 31 页第4章 总体设计具画了一个用户接口界面,然后编写代码根据用户输入去执行相应的动作,许多交互式的开发环境鼓励这么做,因为它强调先有界面然后再有功能。一些软件设计模式策略是这样的,然后经常将固定后的代码融入最后的系统当中。导致的结果就是,程序组织围绕用户界面元素和用户在那些界面元素上的动作,数据的存储,应用的功能以及用来显示的代码都杂乱无章的缠绕在一起。在单用户的系统里代码结构是可以这样的,因为系统需求不会频繁变化。但是对一个大的系统如大型Web系统,或电子商务系统来说就不太适用了。通过把数据模式从各种可以被存取和控制的数据中分离出来可以改善分布式系统的设计。MVC设计模式由三部分组成。模型是应用对象,没有用户界面。视图表示它在屏幕上的显示,代表流向用户的数据。控制器定义用户界面对用户输入的响应方式,负责把用户的动作转成针对Model的操作。Model 通过更新View的数据来反映数据的变化。三者关系如图:状态查询修改通知修改状态Model抽象系统的应用功能封装系统的状态提供使用系统功能的方法和路径管理数据的存储和一致性当数据发生变化时通知相关部分View抽象数据表达式表示针对用户的数据维护与Model数据的一致性Controller抽象用户和系统的事件的语意映射把用户输入翻译为系统事件根据用户的输入和上下文情况选择合适的显示数据选择视图用户动作 图41. MVC关系图第11页 共 31 页河北师范大学职技学院学士学位论文MVC关系图的理解模型 M视图 V控件器C分工1 抽象系统应用的功能2 封装系统的状态3提供使用系统功能的方法和路径4管理数据的存储和一致性5 当数据发生变化时通知相关部分1抽象数据表达2表示针对用户的数据3维护与Model数据的一致性1抽象用户和系统的事件的语意映射2把用户输入翻译为系统事件3根据用户的输入和上下文情况选择合适显示数据协作1当他改变系统数据时通知View2能够被View检索数据3提供对Controller的操作途径1把Model表征给用户2当数据被相关Model改变时更新表示的数据3把用户输入提交给Controller1把用户输入转成对Model的系统行为2根据用户输入和Model的动作结果选择合适的View 图4-2 MVC的分工与协作4.2数据库设计思想4.2.1数据库的选择 MySql 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,MySql允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,MySql 作为关系数据库开发具备了许多优点,可以在一个数据第12页 共 31 页第4章 总体设计中同时拥有桌面数据库的便利和关系数据库的强大功能。4.2.2数据库设计表4-1.管理员表编号字段名数据结构长度说明1name文本20用户名2Pswd文本20密码3bd数字10权限标示表4-2.用户表编号字段名数据结构长度说明1Userid数字10用户序号2Name文本20用户名3Pswd文本20密码4Userinfo文本250用户信息5Grade数字4等级6Topicnum数字20总发帖数7Lasttime日期/时间8最后登陆时间8Tnum数字10当天发帖数9Wnum数字20周发帖数10Friend文本250好友11favorites文本250爱好表4-3.帖子表编号字段名数据结构长度说明1Id数字10帖子ID2Bd数字10所属版块3Topic文本20主题4Tinfo文本250内容5Userid数字20用户ID6Posttime日期/时间8发表时间7Type数字4帖子类型8Hits数字20查看数9Retime日期/时间8最后回复时间10Renum数字20回复数第 13页 共 31页河北师范大学职技学院学士学位论文表4-4.投票表编号字段名数据结构长度说明1Id数字20序号2Content文本250内容3Votnum数字20投票数4Type数字4类型5Outtime日期/时间8投票时间6Voteduser文本250投票者表4-5.上传文件表编号字段名数据结构长度说明1Id数字20序号2Bbsid数字20BBS序号3Filename文本250文件名称4Filetype数字20类型5Uploadtime日期/时间8上传时间6Name文本20名字7url文本20上传地址8Hits数字20查看数9Filesize数字20文件大小表4-6.版块表编号字段名数据结构长度说明1Id数字20版块ID2Fid数字20所属ID3Bdinfo文本20版块信息4Todaynum数字20当日发帖数5Topicnum数字20置顶数6Allnum数字20总帖子数7Lastinfo文本250最后发表信息8Type数字4版块类型9Admin文本250版主第 14页 共 31页第4章 总体设计表4-7.短信表编号字段名数据结构长度说明1Id数字20编号2Fuserid数字10发信人3Tuserid数字10收信人4Content文本250内容5Posttime日期/时间8发送时间表4-8.在线用户表编号字段名数据结构长度说明1Userid数字20用户ID2Name文本250名称3Ip数字20登陆IP4Lasttime日期/时间8登陆时间5Face数字4等级6Onbd数字20所在版块ID7Place文本20用户所在地表4-9.封锁IP表编号字段名数据结构长度说明1Id数字20序号2Srartip数字20开始IP3Endip数字20结束IP第 15页 共 31页河北师范大学职技学院学士学位论文表4-10.论坛公告表编号字段名数据结构长度说明1Id数字20序号2Bd数字20所属ID3Content文本250内容表4-11.精华版块表编号字段名数据结构长度说明1Id数字20序号2Name文本20名字3Bd数字20所属ID第 16页 共 31页第5章 详细设计第5章 详细设计5.1 用户注册功能5.1.1人机界面此部分是实现用户的注册功能。用户先阅读注册协议,同意协议后,通过填写注册资料,正确填写后,点击注册按钮后便可注册成为正式的会员。图5-1 注册注册资料分必填资料和选填资料,用户只要把必填资料填写正确就可以注册了。用户名最多不能超过16个字符,而且不允许注册重复的用户名,当用户输入想要注册的用户名后,可以点击后面的检测按钮检验是否该用户名已经被注册过。性别只能选择男或女其中一个。密码最多不能超过16位,两次密码必须输入一致,否则不可以注册。E-mail必须输入有效的邮箱地址,以便日后能使用到论文第 17页 共 31页河北师范大学职技学院学士学位论文的各种功能。验证码是系统随即产生的,只要用户按照出现的数字输入进去就可以了。选填资料注册时可以不用填写,等注册成功后,可以在修改用户资料里随便修改。本论坛支持自定义外部头像,而且还支持签名等。用户注册成功后就可以使用会员所拥有的一切功能了。5.1.2 操作流程图图5-2 注册操作流程图5.2 会员发帖功能5.2.1人机界面此部分实现会员的发帖以及回帖等功能。登陆的会员可以在允许会员发帖的版块进行发帖,还可以在普通版块进行回复主题帖子。游客只能浏览帖子,不能发表帖子和回复帖子。第 18页 共 31页第5章 详细设计图5-3 发帖会员在开放的版块里如果想发表新的主题,便可直接点击发表帖子按钮。进到发表帖子页面后,首先要写自己想发表的主题,主题字数不能超过100汉字,主题可以选择话题类型,例如分享、原创、灌水、推荐、转贴等等。接下来可以选择帖子的表情,这个是放在帖子的前面。如果会员想上传图片等,就要选择文件上传了,大小每个不能超过200K,每天限制上传3个。正文不能超过15000字,字体、字号、字体颜色可以自己设置,正文还可以插入视频等。本论坛还为发帖者提供很多正问内容的表情,从而丰富了文章的活力。特殊内容是变相保护会员的发帖权益,发帖人可以设置内容为等级可见,即会员必须到达指定的等级才可以阅读;回复可见,即会员必须回复该主题才可以阅读;积分可见,即会员必须达到指定的积分才能阅读;登陆可见,即游客和没登陆的会员是不能阅读的,必须会员登陆后方可阅读等等。正文还可以设置投票选项,用于调查一下大家对某某的一些见解。或是统计一下某某数据等等。正文写完后可以先点击预览,觉得不满意可以在不满意的地方再修改一下,直到满意后,便可点击发表了。回复帖子只针对会员开放,游客不可以回复主题。回复帖子有两种方式:一是快速回复,即简单的回复几句话,不能设置字体,没有表情,也不能上传文件等。二是高级回复,即回复内容比较全面,可以上传文件,可有表情,也可以设置字体大小颜色,段落格式。还可以象发表主题那样设置特殊内容回复可见,等级可见,积分可见等第 19页 共 31页河北师范大学职技学院学士学位论文5.2.2 操作流程图图5-4 发帖操作流程图5.3 版主管理帖子功能5.3.1人机界面此部分主要是版主对论坛的帖子进行综合管理,删除、编辑、锁定、置顶、加精华等等。普通会员是不可以进行此操作的。图5-5 管理帖子第 20页 共 31页第5章 详细设计图5-6 权限设置版主只可以管理自己版块的帖子,对别的版块帖子不能管理。超级版主和管理员可以管理所有版块的帖子。版主可以把通知或版规等性质帖子置顶,以便引起大家注意。再不需要的时候可以取消置顶。对一些写的非常好的文章版主可以为其加精华,这样让大家多多关注好的文章,以便鼓励发帖者多多发表好的文章上来大家一起分享。当然对于不好的帖子或者就是灌水的帖子,严重的可以直接删除了,情节较轻的则可以将其锁定。对有些文章内容有地方不足时,版主可以对其进行编辑修改。版块里的帖子除了置顶的帖子,别的帖子都是按照发表时间和回复时间排列的,时间最新的帖子则排在最前面,时间越旧排的就越靠后面。有的文章内容比较好,或是值得大家注意一下,但又没必要置顶更没必要加精华,这样版主就可以使用提升功能,使其排在后面的帖子上升到普通帖子的最前面。这种提升和置顶的区别在于置顶的帖子一直排在最上面,无论别的帖子更新时间比它多新,都没有。普通帖子更新时间最新也是排在它的后面。而提升的帖子呢,提升后是排在普通的帖子最前面了,但别的帖子只要在它被提升后更新了,那么别的帖子就会跑到这个提升帖子的前面了,依此类推。还有一项功能就是转移帖子,这是超级版主以上的职务才有此权限。对于某版块里用户的发的帖子不符合该版块的内容范围呢,而是属于另一个版块内容的,这时就可以把此帖子转移到符合其内容的版块里。第 21页 共 31页河北师范大学职技学院学士学位论文5.3.2 操作流程图退出管理是否通过管理帖子是否会员重新管理管理成功是否版主开始 图5-6 管理帖子操作流程图5.4 管理员管理论坛功能5.4.1人机界面此部分是实现管理员对论坛的后台管理,发布公告、添加删除版块、任命撤消版主等等。图5-7 管理论坛首先对于前台的管理,大部分就是对帖子的管理,版主所有的权限管理员都有;其次就是对后台的专署管理,后台管理分5大模块。一是论坛常规设置,其中包括第 22页 共 31页第5章 详细设计常规信息设置、公告管理、风格设置、友情连接管理、IP封锁与解除。二是论坛管理,其中包括论坛版面设置、版主设置、超级版主设置、管理员设置、后台密码修改。三是用户管理,其中包括用户删除与恢复、更改用户密码、修改用户资料、用户特殊设置、批量删除用户。四是帖子与留言管理,其中包括帖子批量删除、帖子批量移动、论坛留言管理、群发留言、帖子数据表管理、论坛回收站。五是其他操作,其中包括论坛整理、数据库、上传文件管理、执行SQL语句。5.4.2 操作流程图退出管理是否通过管理论坛是否会员重新管理管理成功是否管理员开始 图5-8 管理论坛操作流程图第 23页 共 31页河北师范大学职技学院学士学位论文第6章 编码实现6.1选择编程语言近年来随着Internet技术的飞速发展及用户需求的不断升级,Web页面技术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供的服务种类越来越繁多。从HTML、Client Script 到CGI,从JAVA的诞生到ActiveX, Web页面设计人员不断受到冲击,Sun公司在总结了以往技术,重新思考Web页面设计的真正需要后,推出了Java Server Pages /Freemarker,一种用以取代CGI(Common Gateway Interface,通用网关接口)的技术。简单讲,Freemarker是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 Web 服务器应用程序,如交互式的动态网页,包括使用 HTML 表单收集和处理信息,上传与下载等等。更重要的是,Freemarker使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web编写工具所远远不及的地方。使用Freemarker还有个好处,就在于Freemarker可利用JDBC,SUN的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本文选择Freemarker作为开发工具最重要的原因之一。Wsb服务器是Web应用程序的心脏。Tomcat是Sun推出的Web Service的主要成员,作为一个独立的Web Server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的Tomcat5.5版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持Freemarker等强大功能。在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用Tomcat+Freemarker构成三层式Web结构(如图2.1所示)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便实现的功能更强大。利用Tomcat+Freemarker技术来集成Web前后端所带来的强大效益可归结为以下几个方面:1 减少构建和维护成本。2 加快联机过程。3 应用软件集中在服务器端开发管理。4 前端可使用任何浏览器(IE、Netscape.)。5 后端可存取任何数据库 (SQL、Access.)。6 可使用任何脚本语言开发 (VBScript、JavaScript、PERL.)。第 24页 共 34页第6章 编码实现6.2 论坛登录功能6.2.1代码实现public void validateLogin() String password;String username;if (parseBasicAuthentication() username = (String)this.request.getAttribute(username);password = (String)this.request.getAttribute(password); else username = this.request.getParameter(username);password = this.request.getParameter(password);boolean validInfo = false;if (password.length() 0) User user = this.validateLogin(username, password);if (user != null) / Note: here we only want to set the redirect location if it hasnt already been/ set. This will give the LoginAuthenticator a chance to set the redirect location.this.buildSucessfulLoginRedirect();SessionFacade.makeLogged();String sessionId = SessionFacade.isUserInSession(user.getId();UserSession userSession = new UserSession(SessionFacade.getUserSession();/ Remove the guest sessionSessionFacade.remove(userSession.getSessionId();userSession.dataToUser(user);UserSession currentUs = SessionFacade.getUserSession(sessionId);/ Check if the user is returning to the system/ before its last session has expired ( hypothesis )第 25页 共 31页河北师范大学职技学院学士学位论文 UserSession tmpUs;if (sessionId != null & currentUs != null) / Write its old session dataSessionFacade.storeSessionData(sessionId, JForumExecutionContext.getConnection();tmpUs = new UserSession(currentUs);SessionFacade.remove(sessionId);else UserSessionDA sm = DataAccessDriver.getInstance().newUserSessionDAO();tmpUs=sm.selectById(userSession,JForumExecutionContext.getConnection();I18n.load(user.getLang();/ Autologinif (this.request.getParameter(autologin) != null& SystemGlobals.getBoolValue(ConfigKeys.AUTO_LOGIN_ENABLED) userSession.setAutoLogin(true);/ Generate the user-specific hashString systemHash = MD5.crypt(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论