毕业论文目录及正文等

更新时间:2024-04-04 04:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业论文(设计)

目 录

1 绪论 ......................................................................................................... 错误!未定义书签。 1.1研究现状 ............................................................................................. 错误!未定义书签。 1.2研究的意义 ......................................................................................... 错误!未定义书签。 1.3研究的思路与内容 ............................................................................. 错误!未定义书签。 2 企业网站开发相关技术及工具 ........................................................... 错误!未定义书签。 2.1网站开发的技术 ................................................................................. 错误!未定义书签。 2.1.1 JAVA简介 ................................................................................. 错误!未定义书签。 2.1.2

MySQL数据库 ........................................................................ 错误!未定义书签。

2.1.3 Eclipse介绍 ............................................................................... 错误!未定义书签。 2.1.4 Tomcat软件介绍 ....................................................................... 错误!未定义书签。 3 网站整体设计 ........................................................................................................................... 8 3.1总体设计 ............................................................................................................................... 8 3.1.1需求分析 ......................................................................................................................... 8 3.1.2网站功能结构图 ............................................................................................................. 8 3.2数据库设计 ........................................................................................................................... 9 3.2.1数据库设计概述 ............................................................................................................. 9 3.2.2数据库的选择 ............................................................................................................... 10 3.2.3数据库需求分析 ........................................................................................................... 10 3.2.4数据库结构设计 ........................................................................................................... 10 3.3详细设计 ............................................................................................................................. 11 3.3.1公共类的实现 ............................................................................................................... 11 3.3.2后台管理模块设计 ....................................................................................................... 13 4 网站功能的实现及效果分析 ................................................................................................. 14 4.1开发平台搭建 ..................................................................................................................... 14 4.2网站功能的实现 ................................................................................................................. 14

毕业论文(设计)

4.3前后台效果分析 ................................................................................................................. 17 参考文献 ....................................................................................................................................... 35 结束语 ........................................................................................................................................... 36 致 谢 ......................................................................................................................................... 37

毕业论文(设计)

1 绪论

1.1研究现状

现在网络的发展已呈现商业化、全民化、全球化的趋势。目前,几乎世界上所有的公司都在利用网络传递商业信息,进行商业活动,从宣传企业、发布广告、招聘雇员、传递商业档乃至拓展市场、网上销售等,无所不能。如今网络已成为企业进行竞争的战略手段。企业经营的多元化拓展,企业规模的进一步扩大,对于企业的管理、业务扩展、企业品牌形象等提供了更高的要求。在以资讯技术为支撑的新经济条件下,越来越多的企业利用起网络这个有效的工具。网站早已由论证阶段进入了实质阶段,尤其为企业提供一个展示自己的舞台、为消费者创造一个了解企业的捷径。公司可以通过建立商业平台,实行全天候销售服务,借助网络推广企业的形象、宣传企业的产品、发布公司新闻,同时通过信息反馈使公司更加了解顾客的心理和需求,网站虚拟公司与实体公司的经营运作有机的结合,将会有利于公司产品销售管道的拓展,并节省大量的广告宣传和经营运营成本,更好地把握商机。随着全球信息网络的发展,Internet在世界上已不仅仅是一种技术,更重要的是它已成为一种新的经营模式。从4C层次上彻底改变了人类工作、学习、生活、娱乐的方式,已成为国家经济和区域经济增长的主要动力。Internet正成为世界最大的公共资料信息库,它包含无数的信息资源,所有最新的信息都可以通过网络搜索获得。更重要的是,大部分信息都是免费的,应用电子商务可使企业获得在传统模式下所无法获得的巨量商业信息,在激烈的市场竞争中领先对手。

1.2研究的意义

在新经济条件下,商业规则已经发生了一些改变,电子商务对企业的基本构架在速度和效率上提出了更高的要求。电子商务的环境和竞争状况变化如此之快,网上商品交易系统及售后服务系统,该系统提高了社会资源利用率,同时也为个人商品交易提供了方面,所以,企业建立网站的意义如下:

一、拥有企业自己的域名,建立企业自己的网站,树立企业在科技信息时代的完美形象。作为第四媒体的互联网,其特点就是可以跨越时空,正常情况下, 网站无时无刻 不在工作通过企业的网站,用户可以跨越时空了解企业,利用多媒体技术,企业可以 向用户展示产品、技术、经营理念、企业文化、企业形象,树立现代企业形象,增值 企业无形资产。

二、宣传企业,创造销售机会据调查,有超过30%的人是通过上网查询企业的电话和地址的,这一比例和通过114查询的比例相接近,可见企业网站已成为许多人首次接触企业、了解相关信息的选择。

三、加强客户沟通宣传企业产品企业可以通过网站建立与客户沟通的便捷渠道,全面展示企业的所有产品。网络科技足以令您的产品与品牌形象更加立体地呈现在用户面前,

1

毕业论文(设计)

就算企业仅仅把网站当成电子宣传册来使用,也较传统的宣传模式更加的多姿多彩、更加地易于发布与传播、更加的经济与环保。 '

四、丰富营销手段,扩大产品销售渠道企业网站可以满足一部分客户网上查询与采购的需要,抓住网络商机。企业通过网站可以开展电子营销。首先,电子营销作为传统营销的补充;其次, 电子营销可以拓展新的空间,增加销售渠道,接触更大的消费群体,获得更多的新顾 客,扩大市场;再次,电子营销可以减少环节,减少人员,节约费用,降低成本,有利于提高营销效率。

五、有利于了解顾客的意见,掌握顾客的需求在不干扰顾客正常工作和生活的条件下,企业通过网站上的调查表、留言薄、定 制服务以及E-MAIL可以倾听顾客的意见,了解顾客的心声,加强企业与顾客间的联系 建立良好的顾客关系。

六、有利于改善服务,提高企业服务质量利用网站,通过电子沟通方式,企业开展的在线服务是传统的沟通方式(如,邮 件、电话、传真等)所无比拟的,在线服务能够更加及时准确地掌握用户的需求,通过网站的交互式服务使得被动提供和主动获得统一起来,从而实现售前、售中、售后的全过程和全方位的服务。

七、 互联网的特点在于突破地域限制,一个网站能同时为您服务于世界各地的拥护;同时,网络无休息,一年365天、一天24小时,您的网站永远忠实地服务于您的所有客户。

我们所处的时代是高度信息化的互联网时代,互联网正在渗透到我们生活中的方方面面,并且在以十倍甚至百倍的速度提高着我们的工作效率。互联网的发展带来了一场规模空前的行业革命,他不仅改变了许多传统行业的运作模式,同时也产生了许多新的行业,并且可以重新排定行业内各个企业的地位。可以说互联网时代是一个资源和财富再分配的时代。互联网络真正的内涵在于其内容的丰富性,几乎无所不包。对于一个企业来说,其具有网络沟通能力的标志是公司拥有自己的独立网站。

1.3研究的思路与内容

如今,互连网对企业来说已经不再是新鲜的事物了,大多数的企业都已经建立了自己的网站。随着互连网的快速发展,网络已成为人们生活的一部分。电子商务、网络营销已不在只是被炒做的概念,人们对其的认识也在深入。不仅仅是大企业需要网站来开展电子商务,中小企业一样也迫切需要自己的企业网站用以实现宣传和联系客户等许多传统媒介无法完成的目标。

企业网站是一个可以发布企业信息、提供顾客服务,以及在线销售的管道;而在开发设计人员看来,企业网站无非使一些功能模块,通过网页的形式将前台和后台结合起来。一个完整的企业网站,无论多么复杂或多么简单,都要划分为四个组成部分:结构、内容、服务、功能。 1网站结构

是为了向用户表达企业信息所采用的网站栏目设置、网页布局、网站导航、网址层次

2

毕业论文(设计)

结构等信息的表现形式等。 2网站内容

内容是用户通过企业网站可以看到的所有信息,也就是企业希望通过网站向用户传递的所有信息。网站内容包括所有可以在网上被用户通过视觉或听觉感知的信息,如文字、图片、视频、音频等。一般来说,文字信息是企业网站的主要表现形式。 3网站功能

是为了实现发布各种信息,提供各种服务等必须得技术支持系统。网站功能直接关系到可以采用的网络营销方法以及网络营销的效果。 4网站服务

即网站可以提供给用户的价值,如问题解答、优惠信息、资料下载等。网站服务是通过网站功能和内容而实现的。

3

毕业论文(设计)

2 企业网站开发相关技术及工具

2.1网站开发的技术

2.1.1 JAVA简介

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。 Java分为三个体系J2SE(Java2 Standard Edition),J2EE(Java 2 Platform,Enterprise Edition),J2ME(Java 2 Micro Edition)。

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。

4

毕业论文(设计)

2.1.2

MySQL数据库

MySQL(发音为\,不是\)是一种开放源代码的关系型数据库

管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。 MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。

MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。 Access的优点

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统

3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

4.支持多线程,充分利用CPU资源

5.优化的SQL查询算法,有效地提高查询速度

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名

7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8.提供用于管理、检查、优化数据库操作的管理工具

9.可以处理拥有上千万条记录的大型数据库

2.1.3 Eclipse介绍

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 eclipse-galileoEclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了

5

毕业论文(设计)

一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。2009年7月发布代号为GALILEO的3.5版。

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。

虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。 Eclipse的主要组成

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。

Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工

6

毕业论文(设计)

具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议.

2.1.4 Tomcat软件介绍

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是6.0。

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为7.0.12 Released 。

3 网站整体设计

3.1总体设计

3.1.1需求分析

如今,互连网对企业来说已经不再是新鲜的事物了,大多数的企业都已经建立了自己的网站。随着互连网的快速发展,网路已成为人们生活的一部分。电子商务、网路行销已不在只是被炒做的概念,人们对其的认识也在深入。不仅仅是大企业需要网站来开展电子

7

毕业论文(设计)

商务,中小企业一样也迫切需要自己的企业网站用以实现宣传和联系客户等许多传统媒介无法完成的目标。

3.1.2网站功能结构图

根据业务流程,需要将网站划分为前台、后台和数据库。前台中,客户在登录网站主页后即可链接查看到产品信息等,还可以给企业留言。数据库将要作为网站后台重要的组成部分,管理员的主要操作几乎全部围绕数据库,最后将更新的数据要显示给前台。

前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少的内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构形式,也是为后面程序的编写做出了框架。在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为根基的。

系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理界面的分支。

在设计好网站前台与后台的结构以后,就将数据库加入到结构中。后台将更新的数据写入到数据库中,前台再将数据库中的信息取出来并显示。

由于中小型企业网站的目标重点在于展示企业的信息。因此系统的功能模块相对单一,就是提供信息的显示。前台功能主要包括首页、站内新闻、商品展示、在线聊天、留言簿这五个主要模块;后台包括:商品管理、系统管理、新闻管理这三个个模块。其中每一模块又包括以下功能:

1商品管理:商品管理、首页设计,2系统管理:在线聊天、留言薄,3新闻管理:站内新闻、后台页面

图3-1 网站整体结构图

3.2数据库设计

3.2.1数据库设计概述

数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结

8

毕业论文(设计)

构和建立数据库的过程。

一般,数据库的设计过程大致可分数据库设计为5个步骤:

(1)需求分析;调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。

(2)概念设计;对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。

(3)逻辑设计;主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。 (4)物理设计;根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括档类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。

(5)验证设计;在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性。

3.2.2数据库的选择

选用mysql作为数据库,由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

3.2.3数据库需求分析

进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理)。用户需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为最基本的需求分析做得是否充分与准确,决定了在其构建数据库的速度和质量。

9

毕业论文(设计)

用户的需求具体体现在各种信息的提供、存储、更新和查询方面,这就要求数据库结构能充分满足各种信息的输出与输入。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

以这种思想作为设计策略,小型企业网站至少有以下4项需求: (1)用户表:包括的数据项有用户姓名、密码等。

(2)产品表:包括的数据项有产品号、产品类别、产品图片等。 (3)新闻公告表:包括的数据项有标题、类别、时间等。

(4)客户留言表:包括的数据项有姓名、性别、爱好、年龄、电话、通讯地址Email、主题、留言内容。

3.2.4数据库结构设计

数据库、数据表的创建 数据库:company 数据表:RPODUCT

创建实体类:Product.java 完成top.jsp页面

数据库、数据表的创建 数据库:company 数据表:NEWS

创建实体类:News.java 完成根目录下left.jsp页面

3.3详细设计

3.3.1公共类的实现

execudeSQL( )方法 SQL语句的参数设置

public int executeSQL(String preparedSql,String[ ] param) {

10

毕业论文(设计)

try {

conn = getConn(); // 得到数据库连接对象 pstmt = conn.prepareStatement(preparedSql); if( param != null ) {

for( int i = 0; i < param.length; i++ ) { pstmt.setString(i+1, param[i]); } }

pstmt.executeUpdate(); // 执行SQL语句 } catch (Exception e) { e.printStackTrace(); // 处理异常

} finally { closeAll(conn,pstmt, null); // 释放资源 } return num; }

前台功能模块设计

网站前台是面向网站访问用户的,通俗的说也就是给访问网站的人看的内容和页面,网站前台访问可以浏览公开发布的内容,如产品信息、公告信息、企业介绍、企业联系方式、提交留言等操作,管理可以通过密码进到后台的网页,来发布新闻、查看留言等操作。 下面是前台功能结构图

图3-2 前台功能结构图

主要功能模块介绍

(1)首页功能模块

企业简介,主要包括企业背景、发展历史、主要业绩及组织结构等,让访问者对企业的情况有一个概括的了解。

(2)商品展示展示

产品展示是指对产品进行详细展示,包括规格,产品的款式颜色等所有产品详细的信息。做到让网站的产品展示能让顾客更直观的去了解网站上所展示的产品,让顾客在看到产品的同时对产品的每一个信息都有一定的了解。

(3)站内新闻

通过最新的公告信息,发布企业动态信息,可以让用户了解公司的发展动向,加深对公司的印象,从而达到展示企业实力和形象的目的。也可以达到宣传公司的目的。

(4)在线聊天

11

毕业论文(设计)

这是现在网站中的一个亮点,公司可以与客户进行即时沟通.从而了解产品 (5)客户留言模块

留言板是一个商务网站中不可缺少的组成部分,它可以增进用户与网站之间的交流。客户留言反馈对公司的意见和评价,根据客户对公司的意见和评价,来修改或是制定公司的发展方向。

(6)后台登录界面

当用户输入用户名、密码,系统自动将输入的信息和相关数据表中的内容进行比较,如果该用户输入的内容和数据表中的内容相符,则通过验证,此次登录成功;否则登录失败。比较的过程是由浏览器将指令,数据发送到Web服务器,Web服务器通过对数据库进行查询将结果返回到浏览器,从而端显示成功的消息,用户只有成功登陆系统后才能进行一系列的操作。

这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来。

3.3.2后台管理模块设计

后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础、根据用户的需求分析来确定后台管理模块应具有的功能。 后台管理界面结构图如下:

图3-3 后台功能结构图

后台管理模块的各个子功能模块如下:

(1)管理员身份验证模块:

为合法用户提供一个后台入口。该模块的功能是对管理员身份进行能够验证。用户输入登录ID和密码后,系统将判断登录ID及密码的有效性,如果通过验 证则转入后台主页,反之则提示错误。 (2)商品管理模块:

包括商品管理,首页设计、后台管理的功能。 (3)系统管理模块:

12

毕业论文(设计)

在线聊天、留言薄和后台管理的功能。 (4)新闻管理管理模块:

包括站内新闻,后台页面、后台管理。

4 网站功能的实现及效果分析

网站开发环境有硬件环境与软件环境。

13

4.1开发平台搭建

毕业论文(设计)

硬件环境:输入输出设备,存储器,运算器等常用设备。我个人的硬件环境是:CPU:PM 1.73GHZ ,存储器:1G,硬盘:120G,显卡:集成128M ,显示器:联想15寸显示器。

软件环境是:操作系统是Windows xp ,WEB服务器是Tomca,数据库服务器是Mysql ,服务器端脚本编程环境是JSP。我个人的软件环境是: Windows xp系统,Eclipse等制作工具。

4.2网站功能的实现

(1)首页的登录功能

如果用户未输入用户名与密码而想登录而单击了用户登录界面的确定按钮,就会弹出“您输入的用户名或密码错误!请您重新输入!”消息。如图所示:

图4-1 登录密码错误信息图

? 实现新闻列表:

? 创建新闻业务类:NewsDao.java

? 建立查询方法:findAllNews( ),返回新闻列表 ? 页面显示新闻列表:showNewsList.jsp

? 查看新闻信息:

? 在新闻业务类中建立根据新闻ID查找新闻内容的方法:findNewsByID( String newsID),返回封装了新闻信息的新闻对象

在页面detailNews.jsp中显示新闻内容 (2)首页的图片功能 如图所示:

?

实现商品列表:

? 创建商品的业务类:ProductDao.java

? 建立查询方法:findAllProduct( ),返回商品列表 ? 页面显示商品列表:showProductList.jsp

14

毕业论文(设计)

查看商品信息

? 在业务类中建立根据商品ID查找商品的方法: findProductByID(String productID),返回封装了商品信息的商品对象

? 在页面中显示商品信息:detailProduct.jsp

(3)在线聊天的功能

公告栏滚动效果实现如下:

?

图4-3 在线聊天图

? 发送聊天信息:

? 页面:sendMessage.jsp

? 显示所有用户聊天信息:message.jsp

? 说话人 ? 说话内容 ? 自动刷新页面: ? 使用框架整合页面:

? main.jsp

<%

request.setCharacterEncoding(\

List messageList = (List) application.getAttribute(\String message = request.getParameter(\Users user = (Users) session.getAttribute(\

if (messageList == null || messageList.size() == 0) {

15

毕业论文(设计)

messageList = new ArrayList();

application.setAttribute(\}

if (message != null && !\messageList.add(“”+user.getUserName() + “ 说:
\} %>

(4)显示新闻内容功能的实现

/> 

? 完善显示新闻内容

? 页面设计 ? 数据的显示 ? 建立\售后服务\页面 ? 建立\关于我们\页面 ? 完成网站首页的新闻列表 (1) 留言功能的实现

16

毕业论文(设计)

? 设计留言列表页面

? 页面:messageBoard.jsp ? 实现回复功能:

? 回复页面:revertMessage.jsp ? 保存回复信息:saveRevert.jsp ? 查看留言和回复信息:

? 完善revertMessage.jsp

4.3前后台效果分析

(1)网站首页

在浏览器进入网站之后,荧幕中将显示如图 4.1所示的品红网站首页,顶部为一行导航菜单,可以链接到网站的各个功能模块,左部分为企业公告类的信息,右部分为企业的基本简介信息,下边为用户管理登陆的链接。

代码实现如下:package s2jsp.bysj.dao;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;

17

毕业论文(设计)

public class BaseDao {

public final static String DRIVER = \ // 数据库驱动

public final static String URL =

\ // url // 数据库用户名

public final static String DBPASS = \ // 数据库密码 /**

* 得到数据库连接

* @throws ClassNotFoundException * @throws SQLException * @return 数据库连接 */

public Connection getConn() throws ClassNotFoundException, SQLException{

Class.forName(DRIVER); //注册驱动

Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS); //获得数据库连接

return conn ; //返回连接 } /**

* 释放资源

* @param conn 数据库连接

* @param pstmt PreparedStatement对象 * @param rs 结果集

public final static String DBNAME = \

18

毕业论文(设计)

*/

public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) { /* 如果rs不空,关闭rs */ if(rs != null){

try { rs.close();} catch (SQLException e) {e.printStackTrace();} }

/* 如果pstmt不空,关闭pstmt */ if(pstmt != null){

try { pstmt.close();} catch (SQLException e) {e.printStackTrace();} }

/* 如果conn不空,关闭conn */ if(conn != null){

try { conn.close();} catch (SQLException e) {e.printStackTrace();} } } /**

* 执行SQL语句,可以进行增、删、改的操作,不能执行查询 * @param sql 预编译的 SQL 语句

* @param param 预编译的 SQL 语句中的???参数的字符串数组 * @return 影响的条数 */

public int executeSQL(String preparedSql,String[] param) { Connection conn = null; PreparedStatement pstmt = null; int num = 0;

/* 处理SQL,执行SQL */ try {

conn = getConn(); // 得到数据库连接 pstmt = conn.prepareStatement(preparedSql); // 得到PreparedStatement对象

19

毕业论文(设计)

if( param != null ) {

for( int i = 0; i < param.length; i++ ) {

pstmt.setString(i+1, param[i]); // 为预编译sql设置参数 } }

num = pstmt.executeUpdate(); // 执行SQL语句 } catch (ClassNotFoundException e) {

e.printStackTrace(); // 处理ClassNotFoundException异常 } catch (SQLException e) {

e.printStackTrace(); // 处理SQLException异常

} finally {

closeAll(conn,pstmt,null); // 释放资源 }

return num; } }

(2)商品展示

在导航菜单中点击“产品展示”,可链接到产品展示的功能模块如图4.2所示,即可浏览全部的产品,左边是产品名称模块,可按按产品名称来浏览该产品的详细信息。

20

毕业论文(设计)

图 4.5 产品展示

代码实现如下: package s2jsp.bysj.dao;

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List;

import s2jsp.bysj.entity.Product;

public class ProductDao extends BaseDao {

/**

* 查询所有产品信息 *

21

private Connection conn = null; // 保存数据库连接

private PreparedStatement pstmt = null; // 用于执行SQL语句

private ResultSet rs = null; // 用户保存查询结果集

public static final int PAGE_NUM = 5;// 定义产品列表页面显示产品个数

毕业论文(设计)

/**

* 根据产品ID查找相关产品信息 *

* @return 产品对象

22

* @return 产品信息列表 */

public List findAllProduct() { }

List list = new ArrayList();

String sql = \try { } return list;

conn = this.getConn();

pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { }

e.printStackTrace(); this.closeAll(conn, pstmt, rs);

Product product = new Product();

product.setProductID(rs.getInt(\

product.setSerialNumber(rs.getString(\product.setName(rs.getString(\product.setPrice(rs.getDouble(\product.setBrand(rs.getString(\product.setModel(rs.getString(\product.setPicture(rs.getString(\product.setDescription(rs.getString(\list.add(product);

} catch (Exception e) { } finally {

毕业论文(设计)

/**

* 实现产品分页显示 *

* @param page

23

*/

public Product findProductByID(String productID) { }

Product product = null;

String sql = \try { }

return product;

conn = this.getConn();

pstmt = conn.prepareStatement(sql); pstmt.setString(1, productID); rs = pstmt.executeQuery(); if (rs.next()) { }

e.printStackTrace(); this.closeAll(conn, pstmt, rs);

product = new Product();

product.setProductID(rs.getInt(\

product.setSerialNumber(rs.getString(\product.setName(rs.getString(\product.setPrice(rs.getDouble(\product.setBrand(rs.getString(\product.setModel(rs.getString(\product.setPicture(rs.getString(\product.setDescription(rs.getString(\

} catch (Exception e) { } finally {

毕业论文(设计)

list.add(product);

24

* 当前页数 * @return 显示产品的列表 */

public List showProductForPage(int page) {

List list = new ArrayList(); int number = 0; if (page > 1) { }

String sql = \

+ PAGE_NUM

+ \ productID not in ( select top \+ number

+ \productID from product order by productID desc ) order by productID number = PAGE_NUM * (page - 1);

desc\

try {

conn = this.getConn();

pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) {

Product product = new Product();

product.setProductID(rs.getInt(\

product.setSerialNumber(rs.getString(\product.setName(rs.getString(\product.setBrand(rs.getString(\product.setModel(rs.getString(\product.setPrice(rs.getDouble(\product.setPicture(rs.getString(\product.setDescription(rs.getString(\

毕业论文(设计)

/**

* 添加产品信息 *

* @param product

* 封装了信息的产品对象 * @return 执行SQL语句所影响数据库的行数 */

public int insertProduct(Product product) {

25

} /**

}

}

e.printStackTrace(); this.closeAll(conn, pstmt, rs);

} catch (Exception e) { } finally {

return list;

* 根据产品ID删除相关产品信息 *

* @param productID * 产品ID

* @return 执行SQL语句影响数据库的行数 */

public int deleteProductByID(String productID) { }

String sql = \String[] param = new String[] { productID }; int count = this.executeSQL(sql, param); return count;

毕业论文(设计)

}

} /**

String sql = \

+ \

product.getName(), product.getBrand(), product.getModel(), product.getPicture(), product.getDescription() };

String[] param = new String[] { product.getSerialNumber(),

return this.executeSQL(sql, param);

* 根据商品ID和对象参数修改商品信息 * @param product封装了数据的商品对象 * @return 返回执行SQL语句,数据库影响行数 */

public int updateProduct(Product product) { }

String sql = \

+ product.getPrice()

+ \+ product.getProductID();

product.getName(), product.getBrand(), product.getModel(), product.getPicture(), product.getDescription() };

String[] param = new String[] { product.getSerialNumber(),

return this.executeSQL(sql, param);

(3)客户留言

在导航菜单中点击“客户留言”可链接到客户留言的功能模块.如图4.5所示

26

毕业论文(设计)

图 4.6 客户留言

代码实现如下: package s2jsp.bysj.dao;

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List;

import s2jsp.bysj.entity.Message;

public class MessageDao extends BaseDao {

27

private Connection conn = null; private PreparedStatement pstmt = null; private ResultSet rs = null;

毕业论文(设计)

} return list;

28

public int insertMessage(Message message) { }

public List selectMessage() {

List list = new ArrayList();

String sql = \try {

conn = this.getConn();

pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { }

e.printStackTrace(); this.closeAll(conn, pstmt, rs);

Message message = new Message();

message.setMessageID(rs.getInt(\message.setTitle(rs.getString(\message.setContent(rs.getString(\message.setWriter(rs.getString(\message.setWriteDate(rs.getString(\message.setCount(rs.getInt(\list.add(message);

String sql = \String[] param = new String[] { message.getTitle(),

return this.executeSQL(sql, param);

message.getContent(), message.getWriter(), message.getWriteDate() };

} catch (Exception e) { } finally {

毕业论文(设计)

}

public int updateCount(String messageID){

int count=0;

String sql=\try{

conn = this.getConn();

29

}

public Message selectMessageByID(String messageID) {

Message message = null;

String sql = \try { }

return message;

conn = this.getConn();

pstmt = conn.prepareStatement(sql); pstmt.setString(1, messageID); rs = pstmt.executeQuery(); if (rs.next()) { }

e.printStackTrace(); this.closeAll(conn, pstmt, rs);

message = new Message();

message.setMessageID(rs.getInt(\message.setTitle(rs.getString(\message.setContent(rs.getString(\message.setWriter(rs.getString(\message.setWriteDate(rs.getString(\message.setCount(rs.getInt(\

} catch (Exception e) { } finally {

毕业论文(设计)

}

(4) 网站后台登录界面

}

}

return count;

pstmt = conn.prepareStatement(sql); pstmt.setString(1, messageID); count=pstmt.executeUpdate(); e.printStackTrace();

}catch(Exception e){

代码实现如下: package s2jsp.bysj.dao;

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List;

import s2jsp.bysj.entity.Users;

30

毕业论文(设计)

public class UserDao extends BaseDao {

31

private Connection conn; private PreparedStatement pstmt; private ResultSet rs; /**

* 根据用户名和密码,查找相关用户信息 *

* @param userName * @param password * @return 用户对象 */

public Users findUsers(String userName, String password) {

Users user = null;

String sql = \try {

conn = this.getConn();

pstmt = conn.prepareStatement(sql); pstmt.setString(1, userName); pstmt.setString(2, password); rs = pstmt.executeQuery(); if (rs.next()) {

user = new Users();

user.setUserID(rs.getInt(%user.setUserName(userName); user.setPassword(password); user.setStatus(rs.getInt(\

毕业论文(设计)

}

32

} /**

}

}

e.printStackTrace(); this.closeAll(conn, pstmt, rs);

} catch (Exception e) { } finally {

return user;

* 判断数据库中当前用户名是否存在 * @param userName 用户名

* @return 存在返回true,否则返回false */

public boolean findUsers(String userName){

String sql = \try { }

return false;

conn = this.getConn();

pstmt = conn.prepareStatement(sql); pstmt.setString(1, userName); rs = pstmt.executeQuery(); if (rs.next()) { }

e.printStackTrace(); this.closeAll(conn, pstmt, rs);

return true;

} catch (Exception e) { } finally {

毕业论文(设计)

} /**

* 查找所有的注册用户信息 * @return 用户列表 */

public List selectAllUser(){

List list=new ArrayList(); String sql = \try {

conn = this.getConn();

pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while(rs.next()) {

Users user = new Users();

user.setUserID(rs.getInt(\

user.setUserName(rs.getString(%user.setPassword(rs.getString(%user.setStatus(rs.getInt(\

list.add(user);

String sql = \

String[] params = new String[] { userName, password ,status+\return this.executeSQL(sql, params); /**

* 添加用户信息 * @param userName * @param password

* @return 操作数据库影响行数 */

public int insertUser(String userName, String password,int status) {

33

毕业论文(设计)

}

} /**

* 根据用户ID,进行删除操作 * @param userID

* @return 执行SQL语句所影响的数据库行数 */

public int deleteUserByID(String userID){ }

String sql=\String[] param = new String[]{ userID }; return this.executeSQL(sql, param); } return list;

}

e.printStackTrace(); this.closeAll(conn, pstmt, rs); } catch (Exception e) { } finally {

参考文献

[1]JAVA2实用教程 耿祥义等编著 清华大学出版社 [2]Web开发实训教程 杨学瑜等编著 中国水利水电出版社 [3]JAVA Web应用开发与实践 梁胜斌等编著 清华大学出版社

[4] 《精通JSP-WEB开发技术与典型应用》普通出版物 张新曼编著 人民邮电出版本

34

毕业论文(设计)

[5] 《JSP网络编程从入门到精通》 普通出版物 邹竹彪编著 清华大学出版社

结束语

经过一段时间的学习与制作,企业网站的设计制作基本上已经告一段落。总结这次制作毕业设计的过程,对我来说是一个将所学知识从书本运用到实际操作的初次体验。通过这次的制作与设计让我了解了一个网站形成的基本过程和基本纲领构架,加深了我对现在

35

毕业论文(设计)

计算机技术、通讯技术、英特网技术等的认识,还有对制作网站上用到的jsp、mysql等设计与制作网站的工具有了更多的了解,得到了深入的理解同时更熟练地使用这些工具。相信这些知识都将对我的工作带来很大的帮助。在这次的毕业设计中使我得学习了比以前更多的知识,提高了自己的学习和操作能力。

这次设计由于时间、条件和个人能力的限制,加之设计经验的不足,在网站的整体设计及各模块功能可能设计的不完全,有待于进一步的完善和改进。这些情况希望能在今后的不断学习与应用中把它扩充得更加丰富,以适应不同层次使用者的需求。同时现在网站的设计技术与要求在不断地更新,不断地提高,我想以后还要有很长的一段学习与实践的时间,才能在设计与制作网站方面有所完善。

现请各位指导老师对我这段时间努力学习,努力设计制作所得的作品进行检测,并加以指正。

36

毕业论文(设计)

致 谢

在论文即将完成之际,回顾紧张但又充实的学习和开发过程,本人在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。

在本次毕业设计中,我从指导老师身上学到了很多东西。他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的学习和工作有很大的帮助,在此感谢他耐心的辅导。

在整个设计过程中,有很多朋友对任务的顺利完成给予了重要的支持和帮助。感谢许多同学在数据库连接、服务器配置、网站后台编程等问题上给我的帮助使我能够顺利地进行设计的工作。

另外,我还要感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示感谢。

本文来源:https://www.bwwdw.com/article/1tvr.html

Top