文档库 最新最全的文档下载
当前位置:文档库 › 新闻发布系统毕业论文8

新闻发布系统毕业论文8

目录

1 引言............................................. 错误!未定义书签。

2 系统分析 (2)

2.1 功能需求分析 (2)

2.2 本系统采用的关键技术 (3)

2.2.1 JSP技术 (3)

2.2.2 JavaBean技术 (3)

2.2.3 JDBC技术 (4)

2.2.4 用JDBC访问数据库 (5)

2.3 可行性分析 (8)

2.4 系统运行环境 (8)

3 系统概要设计 (10)

3.1 总体功能 (10)

3.2 E-R图 (12)

4 系统详细设计 (13)

4.1 后台数据库设计 (13)

4.1.1 SQL SERVER 介绍 (13)

4.1.2 数据库表结构 (14)

4.2 处理流程设计 (16)

4.2.1 系统操作流程 (16)

4.2.2 数据增加流程 (17)

4.2.3 数据修改流程 (17)

4.3.4 数据删除流程 (18)

4.3 系统模块设计 (19)

4.3.1 管理员登陆 (19)

4.3.2 新闻管理 (21)

5 系统调试与测试 (25)

5.1 程序调试 (25)

5.2 程序的测试 (25)

5.2.1 测试的重要性及目的 (25)

5.2.2 测试的步骤 (27)

5.2.3 测试的主要内容 (27)

6 结论 (29)

6.1 系统评价 (29)

6.2 安全性问题 (29)

致谢............................................... 错误!未定义书签。参考文献.. (31)

2 系统分析

2.1 功能需求分析

本系统需要具有以下功能:

(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面。

(2)能够实现新闻发布的各项功能,能成功的对用户各种信息进行管理。 (3)查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。 系统采用B/S 模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。

图3-1 系统模式图

系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP 网页完成。而系统内部复杂的业务逻辑主要通过JavaBean 的组件(Component )实现,JavaBean 组件在WWW 服务器上运行,通过JSP 返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用JDBC 中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用JSP 技术作为表现手段,服务器采用Tomcat 5.0.3作为JSP 引擎,系统业务逻辑由

业务服务器

数据库服务器

事务逻辑 数据逻辑

Client

Browser 表示逻辑

Browser 表示逻辑 JSP 网页 WWW 服务器/业务

逻辑服务器

JavaBean 组件

中间件 JDBC

数据库服务器

数据库

SQL Server 2000

JavaBean 组件完成,使用JDBC 3.0 驱动程序访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用SQL SERVER 2000数据库作为数据库服务器。

2.2 本系统采用的关键技术

2.2.1 JSP技术

JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet 以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术在多个方面加速了动态Web页面的开发。

与微软公司的ASP技术相比,JSP具有如下优点:

(1) 开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持。

(2) 平台和服务器的独立性:JSP编写的代码可运行在任何符合JA V A语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。

(3) 开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JA V A组织合作开发和修改JA V A技术和规范。

(4) JSP标记可扩充性:JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。

(5)JSP跨平台的可重用性:JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的。

2.2.2 JavaBean技术

JSP作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类JSP应用程序中,JSP + JavaBean的组合成为了一种事实上最常见的JSP程序的标准. JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean 的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是

JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。JavaBean通过Java虚拟机(Java Virtual Machine)可以得到正确的执行,具有平台无关性。

一个JavaBean有三个部分组成:

1)属性(Property)

Bean的属性就是对象的属性,但提供了属性读取和设置的接口支持。例如一个时钟Bean可以有时区和镇铃属性,日历Bean可以有年份和月份属性。每个属性通常遵守简单的方法命名规则。这样可以很方便的找出Bean提供的属性,然后查询属性值或改变属性值,对Bean进行操作。

2)方法(Method)

由于Bean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有Public字段)。这样,方法调用的是接触Bean的唯一途径。

3)事件(Event)

Bean与其他软件组件交流信息的主要方式是发送和接收事件。这与对象之间通过消息通信类似。

JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从JSP诞生后,JavaBean更多的应用在非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。利用非可视化JavaBean, 来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如JSP)的分离,使得系统具有更好的健壮性和灵活性。

2.2.3 JDBC技术

JDBC是Java的开发者——Sun的JavaSoft公司制定的Java数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。简单地说,JDBC能完成下列三件

事:

(1)同一个数据库建立连接;

(2)向数据库发送SQL语句;

(3)处理数据库返回的结果。

JDBC是一种可用于执行SQL语句的JavaAPI (ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。

通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java 编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”

Java具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。

JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web 页,页中带有能访问远端数据库的Applet。或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh或UNIX)在Intranet 上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。

2.2.4 用JDBC访问数据库

所有的数据库的对象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想连接数据库,首先要将驱动程序调入。

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");这是JDBC-ODBC 的驱动程序。

要想连接一个指定的数据库,必须创建Connection类的一个实例。

String url = "jdbc:odbc:Grocery prices";

Connection con = DriverManager.getConnection(url);

注意在此用到的数据库名称是在ODBC设置控制面板中输入的数据资源名。URL语法对于不同类型的数据库会很不一样。语法是这样的:jdbc:subprotocol:subname 开头都是JDBC,后面是子协议,然后是ODBC名称。

若要使用纯JDBC驱动程序,必须安装第三方软件提供的驱动程序,一般在数据库的官方网站上可以找到这里不做讨论。

本系统采用JDBC-ODBC的驱动程序连接数据库,并使用JavaBean组件,有效的避免了代码的重复,具体过程如下:

package exam;

import java.sql.*;

public class ExamBean {

String strDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //JDBC-ODBC驱动程序

String strDBUrl="jdbc:odbc:exam";

private Connection conn=null;

private Statement stmt=null;

ResultSet rs=null;

//

public ExamBean() {

try {

Class.forName(strDBDriver);

}

//

catch(https://www.wendangku.net/doc/b910779941.html,ng.ClassNotFoundException e){

System.err.println("exam():"+e.getMessage());

}

}

//

public ResultSet executeQuery(String sql){

rs=null;

try{

conn=DriverManager.getConnection(strDBDriver); //创建数据库连接对象stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CON CUR_UPDATABLE);//支持数据回滚

rs=stmt.executeQuery(sql);

}catch(SQLException ex){

System.err.println("aq.executeQuery:"+ex.getMessage());

}

return rs;

}

//

public void executeUpdate(String sql){

stmt=null;

try{

conn=DriverManager.getConnection(strDBDriver);

stmt=conn.createStatement();

stmt.executeUpdate(sql);

stmt.close();

}catch(SQLException ex){

System.err.println("aq.executeQuery:"+ex.getMessage());

}

}

//

public void closeStmt(){

try{

stmt.close();

}catch(SQLException e){

e.printStackTrace();

}

}

public void closeConn(){

try{

conn.close();

}catch(SQLException e){

e.printStackTrace();

}

}

2.3 可行性分析

首先,技术可行性。本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件。

其次,经济可行性。由于本系统是为学生学习使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。

第三,操作可行性。界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。

2.4 系统运行环境

服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很

便宜,因此通常应给服务器端配置高性能硬件。本机器的配置如下:

处理器:Inter Pentium 41.6Hz或更高。

内存:512MB

硬件空间:160GB

题目主要采用的技术

数据库:Microsoft SQL Server 2000。

编程语言JSP

服务器:Tomcat5.5,jdk1.6

开发环境:WindowsXP

3 系统概要设计

3.1 总体功能

系统角色:1.游客:可以搜索、浏览新闻,不能评论新闻,可以注册成为会员 2.会员:可以搜索、浏览新闻,评论新闻,可以修改密码等个人信息 3.编辑:对新闻进行编辑、发布,可以添加删除修改新闻

4.管理员:拥有系统最高权限,可以添加删除修改新闻,可以删除用

户,可以添加删除编辑 前台:

网上新闻发布系统

管理员

用户

会员管理 新闻管理 新闻分类管理

公告管理

账号管理

在线留言

新闻搜索 注册会员

首页:1.新闻分类:(国际娱乐体育等等)新闻分类需要从数据库中动态取出(因为后台中有添加删除修改分类的功能)可以只显示4—5个分类,后面加个“更多>>”链接,来罗列所有分类

2.新闻搜索:(可以选择分类)以新闻标题模糊搜索,有分页功能

3.热点新闻:按新闻点击率高低显示前10条左右的新闻(显示点击

率)

4.最新新闻:显示最新添加的新闻(显示日期)

5.公告栏:显示公告信息

6.登录:可选角色有会员、编辑、管理员,有注册链接按钮,找回

密码链接

会员可以对新闻进行评论,游客点击评论时提示注册

注册时包含密码提示问题,以便找回密码,注册验证用ajax动态验证,有分页功能,

包含在线文本编辑器

登陆后有欢迎信息:“您好,XXX”

后台:管理员拥有所有权限

新闻分类管理

分类列表(包含删除、修改)

添加分类

新闻管理

新闻列表(包含删除、修改新闻)

添加新闻(支持新闻、图片上传)

查找新闻(包含删除、修改新闻)

评论管理

公告修改

会员管理

会员列表(包含删除)

查找会员(包含删除)

编辑管理

编辑列表(包含删除、修改)

查找编辑(包含删除、修改)

修改密码

会员:修改密码等个人信息

系统采用了敏捷开发的思想,结合跨平台的J2EE技术架构,数据库采用了SQL server;使得系统具有易用性、个性化、跨平台等特点;同时又保证数据的安全、稳定、快速和完整;使其运行得高速、安全、稳定。

3.2 E-R图

密码用户名

用户

信息

新闻用户管理密码管理

新闻分类

4 系统详细设计

4.1 后台数据库设计

4.1.1 SQL SERVER 介绍

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的版本。SQL Server 特点:1.真正的读者机/服务器体系结构。

2.图形化用户界面,使系统管理和数据库管理更加直观、简单。

3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。

4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。

5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。

6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web 页面上。

7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。

4.1.2 数据库表结构

为了满足系统存储数据需要,方便进行插入,更新,统计和查询分析等操作,数据一共设计为两个部分,第一部分为满足插入,更新,删除较多的数据存储。第二部分为满足查询和统计分析。为了方便进行数据库之间的迁移,数据库中不建议采用存储过程,触发器等数据库特征明显的代码,所有表建立,操作SQL 均采用标准语句。

数据库表结构如下:

设计表“admin”

列名数据类型长度允许空

Id Int 4 否

Username Nvarchar 50 否

Password Nvarchar 50 否

Creattime Datetime 8 否

Flag Int 4 否

Isuse Int 4 否

Logintimes Int 4 否

Quanxian Nvarchar 1000 否

设计表“news”

列名数据类型长度允许空

Id Int 4 否

Title Nvarchar 150 否

Pic Nvarchar 150 否

Content Text 16 否

Addtime Datetime 8 否

Adder Nvarchar 50 否

Ifhide Int 4 否

Visit Int 4 否

Up Int 4 否

设计表“member”

列名数据类型长度允许空

Id Int 4 否

Username nvarchar 50 否

Password Nvarchar 100 否

Type Nvarchar 50 否

Regtime Datetime 8 否

Ifuse Int 4 否

Logintimes Int 4 否

Lasttime Datetime 8 否

Lastip Nvarchar 50 否

设计表“guestbook”

列名数据类型长度允许空Id Int 4 否Nickname Nvarchar 100 否

Pic Nvarchar 100 否Email Navarre 50 是

QQ Nvarchar 50 是Weburl Nvarchar 100 是Blogurl Nvarchar 100 是Expressions Nvarchar 100 否Content Nvarchar 200 否Addtime Datetime 8 否

4.2 处理流程设计

4.2.1 系统操作流程

系统登录界面

输入操作员及密码

检查

密码正确

功能界面

数据库 系统主界面 功能处理

系统管理

错误信息

密码错误

4.2.2 数据增加流程

添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:

开始

自动生成编号

输入数据

是否合法

写入数据库

结束

图3.2 数据增加流程图

4.2.3 数据修改流程

在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图3.3所示。

开始

选择需要修改记录

输入数据

是否合法

写入数据库

结束

图3.3 数据修改流程图

4.3.4 数据删除流程

当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图3.4所示。

开始

选择需要删除记录

是否删除

更新数据库

图3.4 数据删除流程图

4.3 系统模块设计

4.3.1 管理员登陆

在用户登录界面,在用户名对应的文本框中输入用户名,在密码对应的文本框中输入密码,如果用户名和密码同时与数据库中的用户名和密码相对应,点击“确定”后进入系统的主界面。如果输入的信息不正确,则给出提示。

输入:用户名和密码。

处理:校检字符的有效性。用户要登录本系统需要提供用户名和密码,在这里就是要检验用户是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提示用户输入用户名和密码。检验用户名是否存在或密码是否正确,即是否存在用户输入的用户名,并且密码是否正确。

输出:登录成功,进入用户的系统使用资源页面,不成功则显示错误信息页面。

主要代码如下:

package util;

import java.sql.*;

public class DBConn {

static{

try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

// Class.forName("com.mysql.jdbc.Driver");

// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(Exception ex){

ex.printStackTrace();

}

}

public static Connection getConn(){

try{

Connection

conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=hs hygl","sa","123");

// conn = DriverManager.getConnection("jdbc:mysql://localhost/fzshop","root","123");

// Connection conn=DriverManager.getConnection("jdbc:odbc:temp");

return conn;

}catch(Exception ex){

ex.printStackTrace();

相关文档
相关文档 最新文档