j2ee平台下的新闻发布系统.docx

上传人:b****2 文档编号:16970466 上传时间:2023-07-20 格式:DOCX 页数:69 大小:1.80MB
下载 相关 举报
j2ee平台下的新闻发布系统.docx_第1页
第1页 / 共69页
j2ee平台下的新闻发布系统.docx_第2页
第2页 / 共69页
j2ee平台下的新闻发布系统.docx_第3页
第3页 / 共69页
j2ee平台下的新闻发布系统.docx_第4页
第4页 / 共69页
j2ee平台下的新闻发布系统.docx_第5页
第5页 / 共69页
j2ee平台下的新闻发布系统.docx_第6页
第6页 / 共69页
j2ee平台下的新闻发布系统.docx_第7页
第7页 / 共69页
j2ee平台下的新闻发布系统.docx_第8页
第8页 / 共69页
j2ee平台下的新闻发布系统.docx_第9页
第9页 / 共69页
j2ee平台下的新闻发布系统.docx_第10页
第10页 / 共69页
j2ee平台下的新闻发布系统.docx_第11页
第11页 / 共69页
j2ee平台下的新闻发布系统.docx_第12页
第12页 / 共69页
j2ee平台下的新闻发布系统.docx_第13页
第13页 / 共69页
j2ee平台下的新闻发布系统.docx_第14页
第14页 / 共69页
j2ee平台下的新闻发布系统.docx_第15页
第15页 / 共69页
j2ee平台下的新闻发布系统.docx_第16页
第16页 / 共69页
j2ee平台下的新闻发布系统.docx_第17页
第17页 / 共69页
j2ee平台下的新闻发布系统.docx_第18页
第18页 / 共69页
j2ee平台下的新闻发布系统.docx_第19页
第19页 / 共69页
j2ee平台下的新闻发布系统.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

j2ee平台下的新闻发布系统.docx

《j2ee平台下的新闻发布系统.docx》由会员分享,可在线阅读,更多相关《j2ee平台下的新闻发布系统.docx(69页珍藏版)》请在冰点文库上搜索。

j2ee平台下的新闻发布系统.docx

j2ee平台下的新闻发布系统

新闻发布系统

绪言

近年来,Internet技术得到迅速地发展,已经成为计算机产业的一个技术热点。

促成Internet高速发展的因素之一就是Web技术。

Web技术的发展使得那些具有交互动态页面、有条理的数据库查询、丰富信息内容的页面成为最吸引人的网页。

浏览Web有着执行Window程序一样的感觉和操作性。

随着Internet技术的发展,它已经成为一种操作平台为用户提供强大的服务。

例如网上购物、网上电子商务、社会信息数据库服务等。

作为计算机发展最迅速的领域之一,数据库技术已经形成了一整套独有的理论,并广泛地应用于人们日常的生产和生活中。

数据库技术与网站的结合是当今Web技术的一个热点。

有了数据库的支持,可以扩展网页的功能,可以方便地设计交互式页面,可以构造功能强大的后台管理系统,可以为网站的更新、维护提供极大地方便。

因此,作为网络开发者或管理者,数据库知识是必不可少的。

21世纪是信息的时代,是网络的时代,进入信息社会高速发展的时代,数字化革命给所有领域带来新的改变,信息技术的发展使得整个世界越来越小,这也意味着企业的竞争环境由区域化向全球化发展,经济全球化是大趋势。

企业所处的环境实际上已经不仅仅是通过信息技术员连接起来的狭义的网络,而应该是将技术环境与经济环境结合在一起考虑,形成一个大网络的概念,企业对信息的掌握程度,信息获取是否及时,信息能否得到充分利用,对信息的反应是否敏感、准确,已越来越成为衡量一个企业市场竞争能力的重要因素,所以建立动态的新闻发布系统适应社会和企业发展的要求,其意义是巨大的。

随着Internet的普及,无论人们相隔多远都有天涯若比邻的感觉,足不出户便可知天下新近之大事,便可与大洋彼岸的朋友畅谈无阻。

随着互联网的进一步发展,网络媒体在人们心中的地位进一步提高,新闻发布系统作为网络媒体的核心系统,其重要性是越来越明显:

一方面,它提供一个新闻管理和发布的功能;另一方面,现在的新闻发布要求与普通用户实现交互,用户可以很方便地参加一些调查和相关新闻的评论,这一点也是其他一些媒体现在无法做到的。

同时,Internet发展到现今,可以说,只要你上Internet你就会接触到新闻发布系统,新闻发布系统的用户量是相当惊人的,其重要性也是不容置疑的。

当然这也对新闻发布系统的开发提出了更高的要求。

基于这种考虑网络开发者提出了一种基于Web的新闻发布系统,该系统能够实现在线更新最新新闻,设置新闻分类导航等功能,此外,网站管理员也可以在线对后台进行管理,例如新闻的修改、删除等操作,以保证新闻的及时性、准确性。

 

1Web项目系统开发工具

1.1集成开发和运行环境MyEclipse

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大地提高工作效率。

它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。

在结构上,MyEclipse的特征可以被分为7类:

1.J2EE模型

2.WEB开发工具

3.EJB开发工具

4.应用程序服务器的连接器

5.J2EE项目部署服务

6.数据库服务

7.MyEclipse的整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现他们。

MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及出错。

本系统则是基于J2EE模型,应用WEB开发工具,集合数据库服务等进行开发和发布的。

1.2数据库SQlServer2005

SQLServer是一个关系数据库。

它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的。

SQLServer的四大基本特征:

1.高可用性SQLServer2005的失败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。

2.管理工具SQLServer2005引进了一套集成的管理工具盒管理应用编程接口(APIs),以提供易用性、可管理性、及对大型SQLServer配置的支持。

3.安全性增强SQLServer2005旨在通过数据库加密。

更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特征,为企业数据提供最高级别的安全性。

4.可伸缩性SQLServer2005可伸缩性的先进性包括表格分区、复制能力的增强和64位支持。

这使得SQLServer2005成为企业数据管理和分析平台,包括电子商务、数据仓库和业务流解决方案所需的基本功能。

本系统主要利用数据库来存储必要的数据,用数据库来管理数据,避免因数据量过大而造成数据紊乱无章的局面。

2系统分析及模块分析

2.1功能需求分析

本系统需要具有以下功能

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

(2)能够实现新闻发布的各项功能,能成功的对用户各种信息进行管理。

(3)增删改查数据方便,数据的稳定性和可靠性好。

系统采用B/S模式。

整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件开发,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。

系统采用MVC(moduleviewcontroller)三层架构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。

而系统内部复杂的业务逻辑主要通过JavaBean的组件实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。

通过表现逻辑和业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。

在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事物逻辑和数据逻辑。

本系统使用JSP技术作为表现手段,服务器采用Tomcat作为JSP引擎,系统业务逻辑由JavaBean组件完成,使用JDBC驱动程序访问数据库。

由于系统测试需要成熟的数据库支持,因此系统采用SQLServer2005数据库作为数据库服务器。

以下为系统模式图

数据库

JDBC中间件

JavaBean

JSP网页

2.2本系统采用的关键技术

数据库

业务逻辑服务器

Browser

表示逻辑

2.2.1JSP技术

2.2.2JavaBean技术

业务服务器

数据库服务器

Client

2.2.3JDBC技术

2.2.4用JDBC访问数据库

2.2本系统采用的关键技术

2.2.1JSP技术

JSP是由Sun公司倡导,许多公司参与一起建立的一种动态网页技术标准,JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入JAVA程序段(script)和JSP标记(tag),从而形成JSP文件(.jsp)。

用JSP开发的WEB应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets来封装产生动态网页的处理逻辑。

JSP将网页逻辑与网页设计和显示分离开来,支持可重用的基于组件的设计,使基于WEB的应用程序的开发变得迅速和容易,插入的Java程序段可以操作数据库,重新定向网页等,以实现建立动态网页所需要的功能。

JSP技术在多个方面加速了动态Web页面的开发

JSP技术的强势:

1.开放的技术JSP技术基于平台和服务器的相互独立,技术支持来自广泛地、专门的、各种工具包,有服务器组件和数据库产品开发商提供。

2.平台和服务器的独立性JSP编写的代码可运行在任何符合JAVA语法结构的环境中。

这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。

3.开放的开发过程,开放的源码自1995年以来,Sun用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。

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

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

2.2.2JavaBean技术

JSP作为一个很好的动态网站开发语言得到了越来越广泛地应用,在各类JSP应用程序中,JSP+JavaBean的组合成为了一种事实上最常见的JSP程序的标准。

JavaBean是描述JAVA的软件组件模型,有点类似于Microsoft的COM组件概念。

在JAVA模型中,通过JAVABean可以无限扩充JAVA程序的功能,通过JavaBean的组合可以快速的生成一个全新的组织不同功能的应用程序。

如果将一个应用程序比作一个空房间,JavaBean就好比房间中的家具。

对于程序员来说最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

JavaBean通过JAVA虚拟机(JavaVirtualMachine)可以得到正确的执行,具有平台无关性。

一个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.3JDBC技术

JDBC是JAVA开发者—Sun的JavaSoft公司制定的JAVA数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用的数据库提供无缝连接的技术。

JDBC在WEB和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。

JDBC有一个非常独特的动态连接结构,它使得系统模块化。

使用JDBC来完成对数据库的访问包括以下四个主要组件:

JAVA的应用程序、JDBC驱动器管理器、驱动器和数据源。

简单地说,JDBC能完成下面三件事:

1.同一个数据库建立连接

2.向数据库发送SQL语句

3.处理数据库返回的结果

JDBC是一种可用于执行SQL语句的JavaAPI(应用程序设计接口)。

它由一些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让全部的职工在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不同的。

2.2.4用JDBC访问数据库

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

Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”),这是JDBC的驱动程序。

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

Stringurl=“jdbc\:

sqlserver\:

//localhost\:

1433;database\=master”;

Stringusername=“sa”;

Stringpassword=“123”;

Connectionconn=DriverManager.getConnection(url,username,password);;

具体实现如下:

publicclassJDBCutil{

privatestaticThreadLocalt1=newThreadLocal();

privatestaticPropertiesps;

static{

ps=newProperties();

try{

ps.load(JDBCutil.class.getResourceAsStream("../config/config.properties"));

Class.forName(ps.getProperty("driver"));

}catch(IOExceptione){

e.printStackTrace();

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

}

//建立连接

publicstaticConnectiongetConnection(){

Connectionconn=t1.get();

try{

if(conn==null){

conn=DriverManager.getConnection(ps.getProperty("url"),ps.getProperty("username"),ps.getProperty("password"));

t1.set(conn);

returnconn;

}else{

returnconn;

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnnull;

}

//关闭流

publicstaticvoidclose(ResultSetrs,Statementstm,Connectionconn){

if(rs!

=null){

try{

rs.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(stm!

=null){

try{

stm.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(conn!

=null){

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

}

2.3可行性分析

首先,技术可行性。

本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高要求,一般当前学校和个人电脑完全可以满足要求。

对于软件技术要求,现在的程序设计语言已经非常成熟,要运用HTML样式,图形图像制作工具制作生动活泼的网页及美观的图形文件或动画文件。

其次,经济可行性。

由于本系统是为学生学习使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力和物力。

带来的效益远远大于系统软件的开发成本。

在经济上完全可行。

第三,操作可行性。

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

管理员登陆

新闻管理

新闻类别管理

网上新闻发布系统

2.4模块分析

管理员

在线留言

新闻搜索

用户

系统角色:

1.游客:

可以搜索、浏览新闻,可以评论新闻,默认为游客,输入昵称时可以显示昵称

2.管理员:

可以对新闻进行编辑、发布,可以增加删除和修改新闻及新闻类别

前台:

首页:

1.新闻类别(娱乐,时尚,社会等)新闻类别从数据库中动态取出,点击新闻类别可以显示相应的新闻,有分页功能

2.新闻搜索有根据标题和内容两种搜索方式,采用模糊查询搜索,有分页功能

3.热点新闻按新闻点击率显示前10条

4.最新新闻显示最新添加的新闻

新闻主页:

用户可以对新闻进行评论,匿名用户显示为游客,有昵称用户显示昵称

后台:

新闻类别管理:

1.分类列表(删除,修改新闻类别)

2.添加类别

新闻管理:

1.新闻类表(删除和修改新闻)

2.添加新闻(类别选择)

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

3数据库结构设计与实现

3.1数据库设计

为了满足系统存储数据需要,方便进行插入、更新、统计和查询分析等操作,数据一共设为两个部分,第一部分为满足插入、更新、删除较多的数据存储。

第二部分为满足查询和统计分析。

为了方便进行数据库之间的迁移,数据库中不建议采用存储过程,触发器等数据库特征明显的代码,所有表建立,操作SQL均采用标准语句。

数据库表结构如下:

设计表“admin”

列名

数据类型

长度

允许空

id

Int

4

name

Varchar

20

password

Varchar

20

设计表“news”

列名

数据类型

长度

允许空

Id

Int

4

Title

Varchar

100

Content

Text

publishDate

Datetime

Author

Varchar

20

Source

Varchar

100

Click

Int

4

newsType

Int

4

设计表“newstype”

列名

数据类型

长度

允许空

Id

Int

4

Typename

Varchar

20

设计表“comment”

列名

数据类型

长度

允许空

Id

Int

4

Writer

Varchar

20

Content

Text

commentDate

Datetime

newsId

Int

4

 

3.2处理流程设计

系统登录界面

错误信息

3.2.1系统操作流程

输入用户名及密码

数据库

密码错误

检查

密码正确

功能界面

功能处理

3.2.2数据增加流程

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

数据增加流程图:

写入数据库

 

3.2.3数据修改流程

在修改信息时,先选中其中一条要修改的记录,然后输入修改数据,判断其合法性,合法则存至数据库,不合法则重新输入。

数据修改流程图:

开始

选择需要修改的记录

写入数据

3.2.4数据修改流程

当用户要删除一条数据时,单击该条记录所对应的删除按钮,删除该条记录相关的数据库内容。

数据删除流程图:

通过以上介绍我们熟悉了数据库中对数据进行增、删、改时的基本流程,在下一章会介绍如何用SQL语句来实现这些功能。

 

4系统的软件设计与实现

4.1系统后台模块设计与实现

4.1.1管理员登陆

在登陆界面,管理员应输入相应的用户名和密码,点击登陆,如果判断正确则进入功能界面,判断不正确则回到登陆界面,给出相应提示。

具体实现:

1.输入:

用户名和密码

2.处理:

校验字符的有效性。

用户登陆本系统需要提供用户名和密码,在这里需要对其进行检验,用户名是否为空,密码是否正确。

3.输出:

登陆成功后,进入功能界面,不成功则显示错误信息。

登陆界面如下:

主要代码如下:

1.查询数据库中存在的数据

publicAdminselectAdmin(Adminadmin){

Admina=null;

try{

Connectionconn=JDBCutil.getConnection();

Stringsql="select*fromadminwherename='"+admin.getName()+"'";

Statementsta=conn.createStatement();

ResultSetrs=sta.executeQuery(sql);

if(rs.next()){

a=newAdmin(rs.getString("name"),rs.getString("password"));

returna;

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returna;

}

2.调用上述方法

publ

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

当前位置:首页 > 总结汇报 > 工作总结汇报

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

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