旅游网站毕业设计论文

时间:2024.4.13

中央广播电视大学开放教育

×××专业毕业论文

旅游网站设计

姓  名:                 

学  校:                

学  号:              

指导教师:                

定稿日期:                 

中文论文摘要

随着互联网技术的飞速发展,互联网技术逐渐被应用到各行各业中,成为信息化研究开发的焦点。与此同时,越来越多的人希望建立和管理自己的个人网站,本文主要阐述的是如何建设一个个人旅游网站以及在建设中使用到的各种技术和软件。

关键词:网站设计  ASP  数据库

英文论文摘要

With the high-speed development of electronic computer science and web technology, the internet technology has been used gradually in many fields, which has been a focus of researching and exploitation of information industry. At the same time, more and more people hope to build their own web stations, which they must be able to manage by themselves. The below will explain how to build a personal web station on travel, and introduce some techniques and some kinds of software used in the building process.

关键词:Web building  Active Server Page   Database

目 录

1  引言……………………………………………………………………………4

1.1网站建设概述 …………………………………………………………………4

1.2 规划思路……………………………………………………………………4

1.3 网站系统硬、软件配置………………………………………………………5

2 网站总体分析与设计………………………………………………………5

2.1开发工具的选用及介绍………………………………………………………5

2.1.1 ASP简介……………………………………………………………………5

2.1.2 Macromedia Dreamweaver MX 2004软件介绍 …………………………7

2.1.3 SQL简介……………………………………………………………………8

2.2 网站系统分析…………………………………………………………………9

2.2.1 系统的功能结构……………………………………………………………9

2.2.2 系统的功能特点………………………………………………………… 10

2.3 数据库设计 …………………………………………………………………10

3 各个功能模块的实现………………………………………………………11

3.1 用户登录 ……………………………………………………………………11

3.2 查询功能 ……………………………………………………………………12

3.3 用户站长联络簿 ……………………………………………………………12

3.3.1 功能………………………………………………………………………13

3.3.2 组成构造…………………………………………………………………13

3.3.3 具体实现…………………………………………………………………13

3.3.3.1 数据库与留言显示程序网页…………………………………………13

3.3.3.2 发言表单网页制作……………………………………………………15

3.3.3.3 回复表单程序网页……………………………………………………17

4 总 结…………………………………………………………………………17

参考文献 ………………………………………………………………………17

一 引言

新的世纪,互联网进入一个崭新的阶段,信息化的发展带动其它产业的发展,各行业都将与它进行更深入的融合和渗透。,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。为了适应知识经济社会的需要,促进学习与交流。网上交流和协作的功能比较普遍;技术管理和资源管理受到重视。随着互联网的普及和发展,必将有越来越多的企业及个人在英特网上拥有自己的网站。网站建设成为企业 形象宣传、产品展示推广、客户沟通的最新最快捷的桥梁;成为个人展示自我,与世界交流的重要平台。越来越多的人已开始从对互联网的认知阶段进入到认同和行动阶段。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。为了更好的协作,更多的与外界交流新的信息,和他人共享信息,特构建旅游网站。

1.1网站建设概述

此次毕业设计的项目是构建一个个人旅游网站,有登陆系统,网站主要实现旅游信息查询系统部分,使访问者可查询旅游有关的信息,以及用户站长联系薄,使用户可以和站长进行沟通,促进网站的建设。网站采用ASP技术编写,数据库服务器采用SQL Server2000。

1.2规划思路

在个人网站的建设之中,如果信息很多且需不断更新,如几乎每天都会有诸如公告、留言回复、新闻等信息需要在网页上发布,如果用传统的方法直接修改网页脚本上的相应内容,实在十分繁琐且容易出错,且只能由网络管理者进行,十分不便。如果采用基于WEB 数据库的动态网站信息管理,把这些相应的信息进行分类、筛选和审核后存入网络服务器的数据库中,再通过对数据库的相关操作来实现信息的方便、快速管理。具体说有以下五个方面的要求:(1) 每条信息能自动进行分类,分成公告类、新闻类等;(2) 限于网页的容量,各类信息均以简要的标题显示,具体的内容通过由用户点击来另行开窗显示;(3) 为了防止非法信息,访问者如果是注册用户均有独立的帐户,在进行信息发布时必须先进行密码校验;(4) 审核每条信息,由信息管理者负责;(5) 删除信息只能由网络管理员进行。

网站的基本风格是简洁明快的界面、实用的旅游讯息和个性化的社区。

在网页设计中遵循的几个基本原则是:

1)主页上有站点的标志物,能让浏览者一眼就知道是谁的主页。

2)将设计好的页面在14.4KBps的调制解调器上检测其下载时间,不超过30秒钟。

3)设计渐进显示的页面,每个图标都应配有文字说明,显示时图标的文字说明先显示,图标随后显示,这样做可以减少等待时不耐烦的心情。

4)易于导航。在网页设计中,采用多种方法使站点便于导航,如菜单、按键、图标、高亮文字等。使得层次清晰,交叉连接,无键跳转。

5)采用长页格式。

6)图象的应用时要注意至多只用一到两个主要的较大图象,并辅以一系列较小的图标,使用较大图象时不超过15K。

7)每个页面都包括返回按纽,便于浏览者浏览。

8)设计站点内的“交通图”,此图包括站点内的链接的内容。

9)在站点首页的文字内容中及早揭示站点中的“互动特性”的内容,如搜索、数据库查询、讨论等,即能抓住浏览者心理的内容。

10)内容,内容是一个网站的灵魂。要使网站脱颖而出,须注意其组织的条理性、内容的充实性和新鲜性,以区别于其它同类网站,让上网者觉得物有所值。

11)多媒体、交互性等综合功能。形式是一个网站内容的外在表现。其界面的质量直接影响访问者的主观感受。网页设计要体现专业特点,富有特色,给人耳目一新的感觉。此外,在网络带宽允许的条件下,应尽量采用最新的多媒体技术,集文本、音频、视频、动画于一体,使网站形式更为活跃,并给内容的实现提供有效的技术载体。

基于以上所需实现的功能,所以我选择了ASP技术结合Macromedia Dreamweaver MX 2004软件和SQL Sever架构个人网站。

1.3 网站系统硬、软件配置

(1) 硬件环境:PC服务器作为Web和数据库服务器;PC机作为各部门用户的前端。

(2) 软件环境:服务器端安装Windows 20## Ad2vance Server,Web服务器使用IIS,SQL Server作为后台数据库系统,支持ASP;客户机安装Windows即可,浏览器不限;网络协议为TCP/ IP协议

二 网站总体分析与设计

2.1 开发工具的选用及介绍

2.1.1 ASP技术简介

ASP技术ASP(Active Server Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface通用网关接口)的技术。目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。

通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet上的许多站点,仍然提供"静态"(static)的主页内容。所谓"静态",指的就是站点的主页内容是"固定不变"的。当浏览器通过Internet的HTTP(Hypertext Transport Protocol)协议,向站点服务器(Web Server)要求提供主页的内容时,站点服务器收到要求后,就传送原已设计好的静态的HTML的文件数据给浏览器。一个"静态"的站点,若要更新主页的内容,必须手动的来更新其HTML的文件数据。而随着Web应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。当在浏览器上填好表单(form)的输入数据,以提供HTTP要求时,可以在站点服务器中执行的应用程序,而不只是一个HTML文件。站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。根据用户请求生成动态主页的传统方法有CGI、ISAPI等。CGI是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下;ISAPI针对这一缺点进行改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。这两种技术和另一普遍使用的开发动态网页的技术Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。而较简单的开发技术如javascript和IDC(Internet Database Connector)等功能有限,不敷使用。

ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。ASP与常见的在Client端实现动态主页的技术如Java applet、ActiveX Control、VBScript、javascript等不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端技术的Script命令则是由浏览器来解释执行。由于ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。

ASP通过后缀名为.asp的ASP文件来实现,一个.asp文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。当用户从浏览器输入了.asp文件的地址后,浏览器就将这个URL请求发给Web Server,如果Web Server上装了ASP,就调用ASP。ASP读出相应.asp文件,解释并执行命令,动态生成一个HTML页面回传Web Server,然后Web Server再把结果发送给浏览器。

ASP文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成,利用ASP将可以执行的脚本嵌入到HTML文件中(将HTML文件的后缀名改为.asp),这使得HTML文件的编写与脚本的开发融合在一起。通过ASP内置的对象、服务器组件(Server Component)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务(图1-1显示了ASP的运行过程)。ASP比较网关及服务器扩展模式有着以下优点:

(1)完全与HTML文件融合在一起;

(2)容易创建,不需要其它编译、链接程序;

(3)面向对象的并通过ActiveX Server对象可扩展。

图 1-1 ASP运行过程示意

ASP 程序的执行具有下列几个特点: (1) 不需要编译,直接执行; (2) 面向对象,容易学习,并可通过ActiveX服务器组件来扩充功能; (3) 独立于浏览器,用户使用常规可执行HTML 码的浏览器即可; (4) 易于操控数据库,ASP可以轻易地通过ODBC(Open Database Connectivity)驱动程序连接各种不同的数据库,例如:Acess、Foxpro、dBase、Oracle、SQL Server等等,另外,ASP亦可将“文本文件”或是”Excel” 文件当成数据库用。(5) 源代码的保密性好,服务器会自动将ASP的程序代码解释为HTML格式的主页内容,再送到用户端的浏览器,因此ASP 的源程序代码不会传到用户端的浏览器。ASP 技术与ADO 技术相结合,可以实现基于WWW 的数据库管理功能,用户可在浏览器画面中检索、输入、更新和删除数据库信息,由服务器对WEB 数据库进行相应的操作,从而建立提供数据库信息的主页内容。在我国新建立的Intranet 大部分都是采用WindowsNT 操作系统与ⅡSWeb 服务器的运行环境。所以,ASP 技术是目前最有发展前景的数据库和Web 服务器的互联技术。

任何技术有他的优点也有他的局限性,ASP也不例外,虽然优势突出但也存在问题。ASP存在的问题及解决方法:

(1)ASP源代码存在安全性隐患

由于ASP程序采用非编译性语言,大大降低了程序源代码的安全性。任何用户只要进入站点,就可以获得ASP 源代码;同时对于租用服务器的用户,因个别服务器出租商的职业道德问题,也会造成ASP 应用程序源代码泄露。

(2)程序设计中容易被忽视的安全性问题ASP代码使用表单实现交互,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入重要页面。例如在浏览器中敲入“...page.asp?x=1”,即可不经过表单页面直接进入满足“x = 1”条件的页面。

(3)对ASP 页面进行加密

为有效地防止ASP 源代码泄露,可以对ASP 页面进行加密。可采用两种方法对ASP页面进行加密。一是使用组件技术将编程逻辑封装入DLL之中;二是使用微软的

ScriptEncoder对ASP页面进行加密。使用组件技术存在的主要问题是每段代码均需组件化,操作比较繁琐,工作量较大,而使用Encoder对ASP页面进行加密,操作简单、收效良好。ScriptEncoder的运行程序是SCRENC.EXE。该方法具有许多优点,一是操作简单,二是可以批量加密文件,三是修改的HTML仍具有很好的可编辑性。这是由于ScriptEncoder 只加密在HTML页面中嵌入的ASP代码,其他部分仍保持不变,照常可以利用网页编辑工具软件对HTML部分进行修改、完善。

2.1.2 Macromedia Dreamweaver MX 2004软件介绍

Macromedia Dreamweaver MX 20## (简称DW MX 2004),是Macromedia 最新开发的的HTML编辑器,用于对Web站点、Web页和 Web应用程序进行设计、编码和开发。属于所见即所得的网页编辑器,支持当今最为流行的技术对行为、层等有良好的支持,可以使用插件升级。最值得选用的原因是其作品垃圾代码相当少,同时对各种浏览器兼容性好,它包括可视化编辑,HTML代码编辑的软件包,并支持ActiveX、JavaScript、Java、Flash、Shockwave等特性,而且它还能通过拖拽从头到尾制作动态的HTML动画,支持DHTML的设计,使得在页面没有Plug—ins(插件)时也能够在Netscape和IE4.0浏览器中正确地显示页面的动画。对于大型站点维护更方便,因为它提供了自动更新页面信息的功能。此外,软件的易用性并使人无论处于设计环境还是编码环境都可以方便地生成页面。

Macromedia Dreamweaver MX 2004的特点:

(1)简洁高效的设计和开发界面:界面更易于使用,可使您的工作效率和工作质量均得到提高。

(2)“插入”栏的改进:简洁高效的新外观,占用更少的工作区空间。还新增加了一个“收藏”类别,您可以对“插入”栏进行自定义,将最常使用的对象放置在该栏上。

(3)表格编辑可视化:在表格中进行列调整操作时能看到实际效果。

(4)用户界面改进:可得到最大的可用工作区,更清晰地显示上下文和焦点,更易于使用和更具逻辑性。

(5)起始页:使您能够访问最近使用过的文件,创建新文件和访问DW MX 2004资源。起始页会在您启动DW MX 20## 或尚未打开文档时显示。

(6)保存桌面选项:使您可以选择当您重新启动DW MX 20## 时重新打开您上一次使用的文档。

(7)完全支持 Unicode:DW MX 2004支持 Internet Explorer所支持的所有文本编码方式。您可以使用几乎所有您的系统中安装的语言字体,DW MX 20## 会正确地显示和保存这些字体。

(8)安全 FTP:使您能够完全加密所有文件传输。

(9)新式的页面布局和设计环境。
    (10)增强的 CSS 功能:提供了一个更为精巧的方法来进行样式设计及提高设计交互性。

(11)动态跨浏览器验证:在您保存文档时自动检查当前文档的跨浏览器兼容性问题。

2.1.3 MS SQL Server简述

SQL Server是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server 是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。SQL Server 2000是Microsoft公司推出的SQL Server 数据库管理系统的最新版本,它功能先进,具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用。MSSQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。

SQL Server企业管理器是SQL Server的主要管理工具,它提供了一个遵从 MMC 标准的用户界面,使用户得以:

(1)定义 SQL Server 实例组。

(2)将个别服务器注册到组中。

(3)为每个已注册的服务器配置所有SQL Server选项。

(4)在每个已注册的服务器中创建并管理所有SQL Server数据库、对象、登  录、 用   户和权限。

(5)在每个已注册的服务器上定义并执行所有SQL Server管理任务。

(6)通过唤醒调用 SQL 查询分析器,交互地设计并测试SQL语句、批处理和脚本。

(7)唤醒调用为SQL Server定义的各种向导。

SQL基础:

SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、Microsoft SQL Server、Access、Ingres等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如"Select"、"Insert"、"Update"、"Delete"、"Create"和"Drop"常常被用于完成绝大多数数据库的操作。MS SQL Server就是用的Transact- SQL。

SQL语言有着非常突出的优点,主要是:

(1)非过程化语言

因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。

(2)统一的语言

SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。

(3)是所有关系数据库的公共语言

SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。

2.2 网站系统分析   

2.2.1 系统的功能结构

旅游网站主页模型如图3-1所示。

 

图2-1

通过进入主页及下级网页,可以实现对旅游资源和旅游服务设施的查询、旅游服务项目的预定、旅游服务企业的选择等功能,而网站管理员或旅游企业注册会员可以快速、方便地对数据和信息进行更新和网上发布。本旅游信息网站的功能是针对旅游者和旅游企业而设计的,有以下几种功能:

1. 查询功能

这是该系统的主要功能,用于各种与旅游有关的信息查询,包括可视查询和SQL 查询

2. 预定功能

与电子商务系统集成,进行旅游交通、住宿等的预定。

3. 平台数据维护系统

包括编辑输入及输出功能,用于网站管理员以及注册会员进行数据的收集、管理、维护、更新等。

4. 会员账号系统

管理本系统的会员用户,如饭店、旅行社、餐饮业主等。

5. 汇总分析系统

动态产生各旅游产品的销售结果、旅游情况的汇总分析等报表,以供各会员及旅游者参考。

6. 邮件系统

主要是与其他邮件系统相链接,供注册会员方便收发邮件。

7. 公告板系统

用于发表各种信息,包括讨论区、BBS 等功能。

8. 日志查看模块

管理员使用WEB 页面查看种类日志记录,以保证系统的安全可靠的运行。

2.2.2 系统的功能特点
(1)操作简单、界面友好:完全控件式的页面布局,使得旅游信息的录入工作更简便;许多选项包括信息类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。

(2)即时可见:对信息的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到"即时发布、即时见效"的功能。

(3)功能完善:包括常见网站的信息管理的各个方面:信息录入、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时旅游信息的管理要求。

2.3 数据库设计

一个成功的网站,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。采用的是SQL Server数据库。

数据表Reg包含的字段有:编号、姓名、密码、电子邮箱和电话。字段说明如下:

数据表allmassage包含的字段有:编号、用户名、留言主题、联络信箱、留言内容、私人公开、留言时间。字段说明如下:

三 各个功能模块的实现

3.1 用户登录

进入网站的分三种,一是管理员;二是一般游客,不得留言,只能浏览网页;三是只允许使用查询系统,可以留言而没有管理功能的注册用户。

登陆页面的设计:

访问者输入用户名地址和密码来登录,然后单击“登录”按钮。输入的数据提交后与数据库中的用户表进行匹配。

须创建一个记录来保存基于访问者登录的用户信息

set RSFindEmp = conn.Execute("select EmpID, Manager from LibEmps where " _

& "Username = '" & Request.Form("Username") & "' and " _

& "Password = '" & Request.Form("Password") & "'")

if RSFindEmp.EOF then

TheMessage = "密码或用户名不对."

Else

Session("EmpID") = RSFindEmp("EmpID")

Session("Manager") = RSFindEmp("Manager")

Response.Redirect "../yk.htm"

end if

表单域Username和Password 用于Where句中来获取一个记录。如果访问者输入了一个无效的用户名,则记录集中将不会返回匹配的记录。我们可以通过查看EOF标记来判断一个记录集是否为空。为空,则访问者将被拒绝进入该系统。不为空,则访问者的EmpID值和Manager值将从记录集中返回。写入Session 变量,变量将在整个网站的所有网页中都是有效的。这些变量的存在与否及其取值将用于确定是否允许进入一个特定的网页,同时也用于访问者进行留言和查询的操作。图3-1给出用户登录的结构图。

图3-1 用户登录结构图

3.2 查询功能

这是该网站的主要功能,用于各种与旅游有关的信息查询,包括可视查询和SQL 查询,系统的查询方式有以下三种:

(1) 点选查询:通过鼠标选择就可获得与之相关的信息;

(2) 一般条件查询:根据用户给定的条件,将文件中满足条件的图元及其相关的信息检索出来,查询条件可按类型、按名称、按交通路线、按距离、按区域等,包括

条件查询和模糊查询;

(3) 高级查询:根据系统中图层已建好的拓扑关系,利用空间分析功能,可实现最佳路径查询、公交转车最优查询. 最佳路径查询可自动搜索并显示任意两点间的行车线路,同时自动探测周边信息并报告;公交转车最优查询可自动搜索任意两点间的最佳公交乘车路线、转车地点、站名和转车线路,并在图上以闪烁的方式提示用户。

通过以上查询的方式,游客就可以进行:

(1) 交通地理查询,如在中国地图上某个主要城市一点,可查找该城市至本地的最佳公路、铁路、航空路线,显示沿途公里数、气象资料,汽车、火车及航空班次的起止时间、票价等;在本地的地图上可实现同样的功能,将实现对公用事业、道路、公交信息、商业、社会经济等情况的查询功能。

(2) 旅游资源查询,根据游客需要,可分类查询到本地的各旅游景点、名胜古迹、公园、博物馆、展览馆、体育馆、现代趣处等旅游资源的地理位置、名称、地址、话、乘车路线、下车站点的资料、图片、图像、动画等信息. 在客户端,用户通过电子地图,点击图层上的某个点、线或区域,就可完成操作。

(3) 服务设施信息查询,旅客可查询到涉外机关、旅行社团、旅馆、车站、公交站点、邮电、银行、医疗、旅游监督机构等服务机构的地理位置、名称、地址、电话、乘车路线、下车站点,及其文字资料、图片、图像等信息。

(4) 购物信息查询,旅客可查询到商场、超市、名优特产店、小吃店、集贸市场等的地理位置、名称、地址、电话、乘车路线、下车站点及其介绍资料,并配以声音、动画、图像等多媒体信息。

(5) 其他信息查询,如气候信息查询,旅客可及时查询到本地各旅游景区当天的气温、污染指数等信息,为出游作好准备。

查询模型如下图所示:

图3-2 查询模型

3.3 用户站长联络簿

3.3.1功能:

    利用SQL语法过滤特定的用户留言意见,让站长可以针对某位特定用户所发表的意见作出独立的回答,同时,用户在发表个人意见时,若认为意见内容涉及敏感的话题或是意见内容涉及私人隐私,都可用“悄悄话”的方式发言,这些“悄悄话”将不会被显示出来让大家看到,当然,站长拥有管理的能力,只要以密码登录管理模式,就可以进行各个用户的单独意见回复,而且还能看到用户们所留下的“悄悄话”。

3.3.2 组成构造

共分成六大部分:

1 意见留言结果网页guest.asp:用来显示用户发言与站长回复内容,同时还具备一般模式与管理模式两种显示方法。

2 用户发言表单网页addmsg.asp:让用户填写发言内容并选择发言性质。

3 用户发言数据处理ASP程序add.asp:处理用户发表的意见数据,同时将这些意见数据记录起来并将网页显示转向至意见留言结果网页。

4 站长回复表单网页master.asp:让站长针对某位特定用户所发表的意见作出独立的回答。

5 站长回复数据处理ASP程序anssave.asp:处理站长回复的数据内容,同时将这些意见数据记录起来并将网页显示转向至意见留言结果网页。

6 数据表文件allmessage:用来储存用户发言数据与站长回复数据的SQL类型数据库文件。“数据表文件”负责存放用户发言数据与站长回复内容的数据记录。

3.3.3具体实现

3.3.3.1 数据库与留言显示程序网页

用户发言与站长回复的内容数据全部储存在数据库中,要在网页中显示目前的用户发言与站长回复数据,必须先进行数据库的链接与打开,要链接数据库我们必须使用ADO对象群的Connection对象;而要打开数据库则必须使用ADO对象群的Recordset对象,程序:

set cn=server.createobject("adodb.connection")

cn.open "filedsn=c:\program files\common files\odbc\data sources\ms sql database.dsn"

set rs=server.createobject("adodb.recordset")

sql="select * from allmessage order by 留言时间 desc"

rs.open sql,cn,1,1

Recordset对象是负责浏览与操作从数据库取出来的数据,Connection对象只负责与数据库进行链接的动作,并不能使用数据库内的数据,因此必须建立一个可以存取数据库数据的Recordset对象,使用RS.Open方法存取”master.mdb”数据库RS.Open SQL,CN,1,1。使用open方法来打开数据表或执行Select指令参数设置如下:

1、 参数一(SOURCE):为欲打开的数据表或SQL指令。

2、 参数二(ActionConnection):指定一个已打开的数据库对象,将此参数设为链接我们已经建立好的Connection对象“CN”。

3、 参数三( CursorType):指定Recordset的打开类型,1为可读写且可自由移动。

4、 参数四(LockType):指定锁定类型,1为只读。

数据排序与SQL指令

1.Select 指令的筛选语句:

格式: Select…From

在SQL语言中:“Select”数据表“中选取某些“栏位”的数据.

2. 如果要选取的数据表数据包含了一个以上的栏位,则我们可以利用“,”逗号来栏位名称隔开。

3.如果要选取的数据表数据包含了全部的栏位,则可以利用万用字符“*”来代表全部的栏位。

可排序数据的Select指令:

1. 当我们希望被选取出来的数据记录数据能够依据某个或某几个栏位的内容来排序时,只要将这些排序依据的栏位摆放在“Order By”保留字之后,然后将这处排序的语句连接在“Select…From”后面就行了。

2.“Order By”默认的排序方式是“由小排到大”,但若是希望排序方式是“由大排到小”,则我们可在栏位名称后再加上“Desc”保留字!将排序方式改为“由大排到小”。

在“显示留言意见”网页中的打开数据库ASP程序中的语句:

SELECT*From allmessage order by留言日期Desc

功能为:从数据表“allmessage”中取出所有栏位的数据,并将取出的数据记录内容依照“留言日期”栏位使用的“由大排到小”排序方式进行排序。

留言显示网页的管理模式

“显示留言意见”的网页就必须具备显示模式选择的功能,当显示模式在一般情况时要能显示用户们的一般性发言,同时还得将“悄悄话“的发言隐藏起来。当站长以密码登录成为管理模式时,则必须将一般性发言与悄悄话发言的数据全部显示出来,同时还得让站长可以针对某位特定用户所发表的意见作出独立的回答。

这两个情况是通过密码登录管理模式的ASP程序实现的:

<form method="post">

<%if session("checkedit")="yes" then%>

<input type="hidden" value="yes" name="goexit">

<input type="submit" value="离开管理模式">

<%else%>

密码:<input type="password" name="password" size="6" maxlength="6">&nbsp&nbsp<input type="submit" value="站长管理">

<%end if%>

</form>

在这段网页语句中,利用Session对象来记录目前的工作模式。当我们第一次进入“显示留言意见”网页的时候,我们所见的网页画面一定是一般!因为Session尚未被建立,因此它的“变量”值一定不会是“yes”,所以网页中会出现一个输入密码进入“站长管理”模式的栏位,只有当我们输入密码按下“站长管理”的按钮组织上发ASP程序中的进入管理模式语句后,Session对象才会被建立,同时,“checkedit”Session对象变量值被设置为“yes”,所以我们就进入了能将一般性发言与悄悄话发言的数据全部显示出来,同时还让站长可以针对某位特定用户所发表的意见作出独立回答的管理模式页面。

留言显示网页的分页

当用户的发言与站长回复的数据字数太多时,一次要将全部的数据内容显示在网页中,等待网页下载的时间太长了,因此采用固定字数分页浏览方式来显示网页。

要进行分页显示,得先知道目前有多少字的留言数据,而留言数据字数可以通过Recordset对象的“Recordcount”(记录个数)属性得知,我们将每10字数据为一单位分页显示:

count=rs.recordcount

if count/10>(count\10) then

totalpage=(count\10)+1

else totalpage=(count\10)

end if

“/”为浮点数除法,“\”为整数除法。

跳页选择的ASP程序语句

所有的发言数据采用固定字数分页浏览的方式来显示后,还要提供一个跳页链接显示的功能,让浏览者可以选择希望浏览的页浏览,ASP程序语句:

pagecount=0

rs.movefirst

if request.querystring("topage")<>""

then

pagecount=cint(request.querystring("topage"))

if pagecount<=0 then pagecount=1

if pagecount>totalpage then pagecount=totalpage

rs.move(pagecount-1)*10

3.3.3.2 发言表单网页制作

(1) 表单的参数

表单的Action参数:Action参数是用来指定Server端处理此一表单数据内容的程序,此处表单处理ASP程序为“add.asp“。

表单的Mothed参数:要将表单传送至Server端的方式有两种,设置值分别为GET及POST,若设置为POST,则浏览器会等Server端来读取数据,若设置为GET,则当我们按下送出按钮时,浏览器会立即将表单中的数据内传送出去。利用POST方法,在传送的数据上将不受限制,利用GET方法传送的数据量则大约只有2K左右。

(2) 留言处理程序

要将用户发言数据作后续处理及将这些数据内容存入数据库,须利用添加数据记录的Insert Into 指令,然后再写入数据库文件中:

Inset into 指令语句格式:

Insert into 数据表名(栏目名) values(栏目值)

sql="insert into allmessage(用户名,留言主题,联络信箱,留言内容,私人公开,留言时间)

values("

sql=sql&"'"& name&"',"

sql=sql&"'"&subject&"',"

sql=sql&"'"&email&"',"

sql=sql&"'"&memo&"',"

sql=sql&"'"&personal&"',"

sql=sql&"'"&now&"',"

cn.execute sql

3.3.3.3 回复表单程序网页

必须让站长可以针对某位特定用户所发表的意见作出独立的回答,

使用Select…From…Where筛选语句

sql="select * from allmessage where(编号="&ID&")"

rs.open sql,cn,1,3

然后将特定的用户发言数据放在表单,方法是将数据库中的数据取出来,然后放在表单栏位中:

“用户姓名”栏位网页语句标签

<td bgcolor="#CCCCFF"><font size="2"><%=RS("用户姓名")%><font></td>

“留言主题“栏位网页语句标签

<td bgcolor="#CCCCFF"><font size="2"><%=RS("留言主题")%></font></td>

“留言内容“栏位网页语句标签

<td bgcolor="#CCCCFF"><font size="2"><%=RS("留言内容")%><font></td>

站长在回复栏位中所填入的数据,必须送给处理站长回复数据的ASP程序“anssave.asp”来记录以及处理这些回复数据。当站长填写好回复发言的数据后按下“送出回复”按钮后,表单中的数据内容就会以“POST”的方式由SEVER端读取,然后将数据内容交由处理站长回复数据的ASP程序“anssave.asp”来将数据内容写入数据库。

四 总结

旅游网站的开发涉及到各方面的知识,ASP 只是提供了一个技术的基础。技术是为用户服务的,网站更要体现对用户的服务性,因为这关系到旅游信息传播的及时性和高效性。ASP脚本语言和数据库的结合为网站开发者提供了广阔而又灵活的开发环境。Macromedia Dreamweaver MX 2004软件给网页的制作带来了很大的便利,更是前台制作与后台链接的纽带。

参考文献

[1] 李世杰 Active Server Pages(ASP)3.0 网页设计手册 北京:清华大学出版社 1999.

[2] 前沿电脑图像工作室 巧学巧用Dreamweaver、Fireworks、Flash制作网 北京:人民邮电出版社.

[3] ASP入门与实例演练薄 小志编著 中国青年出版社.

[4] 张俊霞. 建设高效优质网站,促进旅游业的发展[J ]. 旅游理,2002.

[5] 武延军,赵彬. 精通ASP 网络编程[M]. 北京:人民邮电出版社,2000.

[6] 林金霖. 实务经典ASP[M]. 北京:中国铁道出版社,1999.

[7] 林海等.计算机网络安全.北京.高等教育出版社.2004.

[8] 萨师煊,王珊。数据库系统概论.高等教育出版社.2004.

附件1

网站信息添加:

                         图8-1 添加栏目信息

public string AddNews(string[] s)

        {

            string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";

            strConnection += "Data Source=" + Server.MapPath("db\\ly.mdb");

            //strConnection += "Data Source=f:\\zzl\\3\\db\\ly.mdb";

            try

            {

                OleDbConnection aConnection = new OleDbConnection(strConnection);

                aConnection.Open();

                string sql = "insert into news ([title],[content],[time],[type]) values(";

                sql += "'" + s[0] + "',";

                sql += "'" + s[1] + "',";

                sql += "'" + s[2] + "',";

                sql += "'" + s[3] + "')";

                Console.WriteLine(sql);

                OleDbCommand comm = new OleDbCommand(sql, aConnection);//

                comm.ExecuteNonQuery();

                aConnection.Close();

               

                return "成功";

            }

            catch (OleDbException e)

            {

                // e.printStackTrace();

                //System.out.print(e.getMessage());

                string errorMessages = "";

                for (int i = 0; i < e.Errors.Count; i++)

                {

                    errorMessages += "Index #" + i + "\n" +

                                     "Message: " + e.Errors[i].Message + "\n" +

                                     "NativeError: " + e.Errors[i].NativeError + "\n" +

                                     "Source: " + e.Errors[i].Source + "\n" +

                                     "SQLState: " + e.Errors[i].SQLState + "\n";

                    Console.WriteLine(errorMessages);

                }

                return "失败";

            }

        }

网站信息读取:

public string ListNews(string type)

        {

            string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";

            strConnection += "Data Source=" + Server.MapPath("db\\ly.mdb");

            //strConnection += "Data Source=f:\\zzl\\3\\db\\ly.mdb";

            try

            {

                OleDbConnection aConnection = new OleDbConnection(strConnection);

                aConnection.Open();

                string sql = "select  top 5 * from news where [type]='"+type+"'";

   

                Console.WriteLine(sql);

                OleDbCommand comm = new OleDbCommand(sql, aConnection);//果然是查询语句有问题

                OleDbDataReader read = comm.ExecuteReader();

                StringBuilder sb = new StringBuilder("");

                while (read.Read()) {

                    sb.Append("<li><a href=\"readnews.aspx?id="+read.GetValue(0)+"\">" + read.GetValue(1) + "</a></li>");

               

                }

                read.Close();

                aConnection.Close();

                return sb.ToString();

               

            }

            catch (OleDbException e)

            {

                // e.printStackTrace();

                //System.out.print(e.getMessage());

                string errorMessages = "";

                for (int i = 0; i < e.Errors.Count; i++)

                {

                    errorMessages += "Index #" + i + "\n" +

                                     "Message: " + e.Errors[i].Message + "\n" +

                                     "NativeError: " + e.Errors[i].NativeError + "\n" +

                                     "Source: " + e.Errors[i].Source + "\n" +

                                     "SQLState: " + e.Errors[i].SQLState + "\n";

                    Console.WriteLine(errorMessages);

                }

                return "失败";

            }

        }

              图8-2 添加留言

基于xml的留言添加:

public string  AddMessage(string []s){

           

           

            XmlDocument xmlDoc=new XmlDocument();

    xmlDoc.Load(Server.MapPath("message.xml"));

              

    XmlNode root = xmlDoc.SelectSingleNode("message");//查找

    XmlElement xe1 = xmlDoc.CreateElement("content");//创建一个节点

    xe1.SetAttribute("time", s[0]);//设置该节点genre属性

    xe1.SetAttribute("value", s[1]);//设置该节点genre属性

    root.AppendChild(xe1);

    xmlDoc.Save(Server.MapPath("message.xml"));

return "执行了";

            }

基于xml的留言读取:

public string read() {

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(Server.MapPath("message.xml"));

            XmlNode xn = xmlDoc.SelectSingleNode("message");

            XmlNodeList xnl = xn.ChildNodes;

            StringBuilder sb = new StringBuilder();

            foreach (XmlNode xnf in xnl)

            {

                XmlElement xe = (XmlElement)xnf;

                sb.Append("<li>"+xe.GetAttribute("value")+"</li>");//显示属性值

                //Console.WriteLine(xe.GetAttribute("ISBN"));

               

            }

更多相关推荐:
20xx级本科毕业论文(设计)工作总结

20xx级本科毕业论文(设计)工作总结毕业论文(设计)是实践教学的重要环节,是本科生综合运用所学基础理论、专业知识和基本技能、接受科学研究工作的初步训练,掌握科学研究的基本方法,培养独立工作能力的重要教学环节。…

1。毕业论文设计通知

关于成人高等教育本科毕业设计工作的通知各位同学:毕业设计工作是高等教育的一个重要环节,为了进一步规范我校成人本科教育毕业环节的教学管理工作,稳定教学质量,根据“中国农业大学成人高等教育本科毕业设计工作指导意见”…

20xx届顶岗实习、毕业论文(设计)工作计划

环境艺术工程系20xx届顶岗实习、毕业论文(设计)工作计划根据《河南职业技术学院关于毕业设计(论文)的有关规定》(院教字〔20xx〕10号)的精神及教务处《关于20xx届毕业生毕业设计(论文)工作安排的通知》,…

写毕业论文(设计)的步骤

写毕业论文(设计)的步骤完成一篇毕业论文,一般要经过以下几个步骤:一、二、三、四、五、选题收集、占有资料确立论点,拟定写作提纲撰写初稿修改定稿一、如何选题确立论文题目,就是确定研究的目标,研究的主攻方向。考生在…

博士研究生担任现代远程教育网上毕业论文(设计)助教的工作职责

博士研究生担任现代远程教育网上毕业论文(设计)助教的工作职责远程教育网上毕业论文(设计)助教是实施远程教育的主要学习支持服务措施。其目的是通过助教的网上毕业论文(设计)指导工作,使学生在做毕业论文(设计)的过程…

工民建专业毕业论文(设计)开题报告

xx大学毕业论文(设计)开题报告论文(设计)题目:办公楼姓学名:xxxx号:xxx所在院(系):xxx专指业导班教级:xxx师:xxx20xx年x月x日1选题背景本设计主要任务是设计一栋高层综合办公楼,此办公楼…

关于20xx届本科毕业论文(设计)答辩和总结工作的通知

天津财经大学教务处津财大教字[20xx]20号关于20xx届本科毕业论文(设计)答辩和总结工作的通知各学院、教学系(部):根据教学工作整体安排,20xx届本科毕业论文(设计)工作已进入中后期阶段,现将有关答辩、…

毕业论文设计过程表格

LiaoningNormalUniversity20xx届本科生毕业论文设计过程材料题目农村教师价值观的调查研究以阜新蒙古族自治县为例学院生命科学学院专业生物科学班级序号2班10号学号20xx181101009...

毕业论文(设计)撰写的内容与要求

毕业论文设计撰写的内容与要求一份完整的毕业论文设计应包括以下几方面1封面封面中应注明论文题目指导教师所学专业所在班级作者姓名2标题标题应概括整个论文最主要的内容恰当简明引人注目力求简短一般不宜超过20字如果有些...

毕业设计目录范本(以交通运输专业论文为例)

目录1绪论错误未定义书签11选题背景错误未定义书签12选题的目的与意义错误未定义书签13国内外研究现状错误未定义书签131国内研究现状错误未定义书签132国外研究现状错误未定义书签133小结错误未定义书签14研...

本科毕业论文设计排版范例

本科毕业论文设计排版范例一word文档题目命名每位学生一篇word文档文档题目为论文设计题目专业班级学生姓名指导教师姓名如苹果矮化砧木二倍体和四倍体抗盐性比较园艺0402班曹云指导教师邵建柱二论文开本及版芯设置...

毕业论文规格设计范文

毕业论文参考网站论文题目基于XML的制造企业知识管理系统的研究与实现学生指导教师教学单位管理工程系摘要用4号加粗宋体居中本文从企业知识管理概念出发从企业知识管理系统需求构成逻辑结构系统模型等方面对基于XML的中...

毕业论文设计(111篇)