配色: 字号:
jsp在线物流配送查询系统ssh论文
2024-05-01 | 阅:  转:  |  分享 
  
摘 要

随着经济全球化和信息技术的迅速发展,国际互联网的全球化热潮使人类社会进入了一个新的信息时代,因此通过网络来获取物流信息已经是信息时代到来必然要发生的结果。开发了物流管理系统本论文对物流管理系统的背景、意义、目的进行详细的市场调查,分析研究,明确了物流公司与顾客的需求。在此基础上设计了该系统的总体设计方案和详细设计方案。

本系统采用的是JSP技术进行构建使用MVC开发模式。以Mysql做为后台数据库来实现的。所运用的J2EE主要技术有JSP和JDBC等。

最后,对本系统进行测试,分别以用户和管理员的身份进行操作,证实该系统的所有功能都能成功运行。



Abstract



With the rapid development of economic globalization and information technology, the upsurge of the international Internet makes the human society entering a new information age, and therefore access to logistics information through the network is the information era is bound to occur as a result of. The system of research and review of the literature on the basis, of main features of the development of logistics in the process of website construction and the logistics website in recent years, analyses some main problems existed in current logistics site and the future development direction and the tendency, in the logistics information platform for networking, systematic, practical technical analysis and summary based on the logistics management system, development. In this paper, the logistics management system of the background, significance, objective detailed market surveys, analysis and study, the logistics company and customer requirements. On the basis of the design of the overall design of the system and the detailed design scheme.

The system uses JSP technology to build. Mysql as the back-end database. Use J2EE, JSP, and JDBC.   Finally, the test of the system, and the identity of users and administrators, confirmed that all the functions of the system can be run successfully.



Keywords JSP JDBC J2EE

目 录

摘 要 I

Abstract II

第1章 绪论 1

1.1 课题背景 1

1.2 目的和意义 1

1.3 系统设计思想 2

1.4 系统开发环境 3

1.4.1 MVC技术简介 4

1.4.2 JDBC技术简介 4

1.4.3 Mysql数据库简介 5

1.4.4 Tomcat简介 5

第2章 可行性分析 7

2.1 技术可行性 7

2.2 经济可行性 7

2.3 操作可行性 8

2.4 业务流程图 8

2.5 本章小结 9

第3章 需求分析 10

3.1 系统功能划分 10

3.2 系统功能描述 10

3.3 本章小结 11

第4章 总体设计 12

4.1 系统物理结构设计 12

4.2 系统逻辑结构设计 12

4.3 系统功能模块设计 13

4.4 数据库设计 16

4.4.1 数据库的E-R图 17

4.4.2 数据库表设计 19

4.5 数据库的完整性和安全性 22

4.6 本章小结 23

第5章 详细设计 24

5.1 系统结构的设计与实现 24

5.2 系统功能的设计与实现 24

5.2.1 用户登陆页面的实现 24

5.2.2 货物信息管理界面的实现 25

5.2.3 车辆信息管理界面的实现 29

5.3 本章小结 30

第6章 系统的配置与测试 34

6.1 系统的软件配置 34

6.1.1 系统的运行环境 34

6.2 系统的软件测试 34

6.3 系统的功能测试 35

6.3.1 车辆信息管理 35

6.3.2 货物信息管理 36

6.4 本章小结 36

结 论 37

致 谢 38

参考文献 39

附录1 40

附录2 44

第1章 绪论

1.1 课题背景

诞生于19世纪60年代的互联网,在90年代开始得到发展,这主要归功于Web技术的诞生和浏览器的发明。将信息连接起来,这是人类多年来的美好愿望。计算机的发明,成为信息世界自从造纸术发明以来最伟大的信息物质载体;计算机网络的出现,使信息的共享成为可能;而Web技术和浏览器的出现,则使信息共享和流通的能力延伸到了桌面。正是在这样一个高速发展的信息化时代,计算机新技术的飞速发展已经为各行各业发展的突飞猛进带来了新生的动力,推动了其他各个行业向更高的层次飞跃。

物流概念的提出是人的能力增强的必然结果。在过去的工业化的过程中,由于能力所限,人的注意力主要放在厂区的范围内,至于原料和商品在场外怎样流动,考虑的相对少一些。随着人的能力的增强和社会化、专业化大生产体系的建立,人们开始将一个区域,甚至将整个世界、整个地球看做一个大工厂、一个整体来研究生产过程的合理性和优化问题。从过去把重点放在生产工厂的合理建设转移到把重点放在物资流通的合理设计上,而仅把工厂看做是物资流通的一个驻留点。

物流热潮的兴起,使得各行各业都对物流趋之若鹜,纷纷成立物流企业。但是由于国内给方面条件的限制,国内物流企业规模小,数量多,缺少竞争优势,并且技术含量低,大多数只能提供运输和仓储等传统服务,能够提供一揽子物流解决方案的企业很少,再加上国外大企业的竞争,是原本就不足以分得一杯羹的国内企业钢架难以适应市场的变化。要想在这场博弈中取胜,对于大部分的中小型物流企业来说,找出市场中的缝隙、进行差异化经营才是其最佳生存之道,而信息的来源则成为寻找“缝隙”的关键。随着国内信息化步伐的加快,加之物流企业对行业信息的需求越来越大,促使物流信息网迅速发展,以适应物流行业的市场变化。物流信息网信息的及时性、准确性完全符合国内物流企业对行业信息的要求,它已经成为国内物流企业信息的主要来源。1.2 目的和意义

伴随着物流业在我国的蓬勃发展及物流市场的激烈竞争,现代物流管理逐步从定性转变为更精确的定量要求,这便需要提供大量精确、及时的数据信息以帮助管理者做出正确的决策。传统的物流企业很容易出错,这对于处在激烈市场竞争中的企业来说往往是致命的。随着计算机以及网络及技术的普及,利用计算机技术的现代管理系统对公司部门、员工、仓储、车辆调配等重要环节进行数字化管理,可以随时提取需要的各类信息、数据,并准确的完成其统计功能,既提高了工作效率也可以及时为企业各管理层提供信息来掌握市场动态,帮助企业在竞争中取得先机。因此,物流信息网成为现在物流企业管理层中不可缺少的重要工具之一。

物流信息管理系统是针对物流管理公司大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个企业单位不可缺少的部分它的内容对于公司的决策者和管理者来说都至关重要它能够为用户提供充足真实有效的信息和快捷便利全面的查询手段。能有效的帮助公司人员迅速掌握客户和货物的信息,并为客户提供方便的货物查询。随着科学技术的不断提高计算机科学日渐成熟使用日趋成熟的计算机技术来代替传统的人工模式,来实现物流信息的现代化管理,其强大的功能已为人们深刻认识它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分使用计算机对物流信息进行管理具有着传统手工管理所无法比拟的优点例如检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、成本低、便于打印等。这些优点能够极大地提高物流信息管理的效率也是公司科学化、正规化管理,与世界接轨的重要条件。用计算机制作的物流信息管理系统还可以通过功能强大的Internet网及时的向客户传递货物的最新信息,有助于公司与客户的信息互动,为更好地把握企业管理起到了一定的促进作用!因此,开发这样一套管理软件成为很有必要的事情。

1.3 系统设计思想

一个方便用户使用的物流管理网站应该具备软件体积小,操作界面友好,基本功能稳定,运行速度较快等特点,本物流网站使用B/S结构,恰恰符合这种用户需要。在本系统的设计过程中,为了满足计算机管理工作的需要,所以采取了下面一些原则。

1.实用性

实用性是衡量软件质量体系中最重要的指标,是否与业务紧密的结合,是否具有严格的业务针对性,是系统成败的关键因素。实用就是务实不务虚,就是注重解决实际问题,做精、做细核心功能,兼顾常用的辅助功能,实现快捷、方便地布署和使用,并节省投资,降低风险。

2.易用性

要求软件的界面友好,结构清晰,流程合理,功能一目了然,菜单操作充分满足用户的视觉流程和使用习惯。易理解、易学习、易使用、易维护、易升级,将实施、培训成本和周期降到最低。易用性对软件的顺利实施和使用具有至关重要的意义。

3.先进性

本设计将充分应用现有成熟的计算机技术、网络技术和软件开发技术,为用户提供高性能的系统。系统采用B/S开发模式,采用Mysql数据库,开发环境采用Eclipse ,可以方便的满足此系统的使用和管理上的需要。

4.稳定性

本系统从底层数据库到功能层应经过严格测试,数据库稳定,功能顺畅,没有堵塞、丢失数据的现象,能在不同的硬件、网络、操作系统以及操作习惯中长期平稳运行,适合大规模用户使用,以保证日常工作的正常进行。

5.跨平台性

由于本系统采用Java语言开发,所以本系统在先天上就具备了跨平台特性。因此企业可以充分利用现有资源,可以运行在任何环境下,包括:Windows、Linux和Unix等主流操作系统。

6.安全性

系统要求能有效防止外部各种病毒攻击和恶意攻击,能够进行严格、细致的访问权限管理,内部数据具有多种备份方式。在设计中,将充分利用网络软、硬件提供的各种安全措施,既可以保证用户共享资源,同时也可保证关键数据的安全性。

7.可扩展性及灵活性

系统的设计以方便未来业务的扩展和系统扩充为目标,适当的预留了一部分可以拓展的空间,为系统能够方便的升级打下了良好的基础,充分的利用了首次开发的投资。

1.4 系统开发环境

1.4.1 MVC技术简介

MVC是Model-View-Controller的简写。Model”代表的是应用的业务逻辑,View”是应用的表示面(由JSP页面产生),Controller”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。MVC具有组件化的优点从而更易于实现对大规模系统的开发和管理。一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

1.4.2 JDBC技术简介

JDBC(Java Data Base Connectivity数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用[8]。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言编写一次,处处运行的优势。Java 具有坚固、安全、易于使用、易于理解和可网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。

JDBC扩展了Java的能力,如使用Java和JDBC API就可以公布一个Web页,页中带有能访问远端数据库的EJB。或者企业可以通过JDBC让全部的职工在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。

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 应用服务器。目前最新版本是.0,本系统中使用的是6.0。

第2章 可行性分析

可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题能否解决。如果是正确的就加以肯定。要达到这个目的就必须分析几种方法的可能解决的弊端,从而判断原定的系统目标和规模是否实现,系统完成后所能带来的价值是否大于开发这个系统的投资价值。因此,可行性研究实质上是要进行一次大大的压缩简化了系统分析和设计的过程。

针对本软件来讲,是为了方便网站对日常工作和用户的统一管理。

2.1 技术可行性

在管理过程中,满足了企业全称跟踪物品的托运情况的要求(分公司及时添加货物的运输情况),是企业能够根据实际情况,对企业运营过程中的各项准备工作做出及时、准确的调整。在每个模块中,具体的实现主要应用到MVC技术。使用符合JSP Model2的设计构架,在前台用在前台用JSP进行页面开发和管理用户界面,提示信息完善,界面友好,具有较强的亲和力,后台采用Mysql数据库,对数据库操作采用事务处理机制,具有强大的错误处理功能。本系统的开发环境是使用现在非常流行的开源开发工具Eclipse和Tomcat6.0服务器。使用的灵活、以及他们当前的广泛实际应用,充分说明本系统在技术方面可行。

2.2经济可行性

目标系统开发经济需求的比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发成后,通过测试和、试运行和实际应用后,将很大程度上提高的企业管理科学性和高效性,在为企事业单位带来便利的同时,也为系统的进一步推广、创新创造了条件,这带来的经济回报将远超过支出,并且最重要的一点是通过该系统的开发,可以使我们进一步理解软件工程思想和软件开发流程,为从事软件开发工作打下很好的基础。可以全面展示企业的经营模式,为企业带来更多的客户资源,提高企业的经济效益。通过计算机网络对运单进行管理,方便客户对货物托运情况进行查询,及时和客户惊醒沟通,满足客户的需要。从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。

2.3 操作可行性

本系统是一个物流管理系统,使用该系统的大多数是企业,对他们来说,操作本系统将会十分的简便。系统是基于Web的工作界面,系统管理员可以在网络上对物流信息进行有效的管理,随时可以更新物流相关信息,用户只需在自己的计算机上通过Web浏览器访问本系统,同时所有的操作都是基于Web的操作方式,如:链接、按钮、文本框等等。所有的操作通过浏览器完成,客户端不需要配置其他应用软件,用户不需培训,只要稍微提示一下即可。因此,在操作使用上,本系统简单、方便,易于使用户接受,因而是十分可行的。

2.4业务流程图2.5 本章小结

本章主要介绍了系统的核心模块的业务流程,并给出相应的业务流程图做以说明。并且分别从经济可行性、技术可行性和运行可行性对物流管理系统的可行性进行了分析。同时,对其可行性进行了分析,主要从经济、技术和运行三方面进行的分析。分析结果是该系统技术成熟,设计合理 第3章需求分析需求分析的主要任务是确定系统必须完成哪些工作,在用户的参与下提出目标系统的完整、清晰、准确、具体的实际要求,软件应完成的具体功能和性能。通过对软件的需求分析,为软件开发提供了一种可以抽象数据设计、软件结构设计和过程详细设计的具体软件元素的表示。3.1 系统功能划分

物流行业的人工管理早已不能适应企业发展的要求,利用计算机网络对企业运营流程进行全方位的管理迫在眉睫。通过计算机网络对企业进行管理,不仅能为企业的运营过程节省大量的人力、物力、财力、时间,提高企业的效率,还可以帮助企业在客户群中树立一个全新的信箱,为企业日后的发展奠定良好的基础。

该物流信息管理系统其使用者有企业内部物流管理人员和普通用户,共分为信息管理、货物信息管理、车辆信息管理、公告信息管理、物流信息模块、后台模块

3.2 系统功能描述

1用户信息管理该子系统功能主要包括管理登录用户的基本信息。

2货物信息管理该子系统功能是整个物流管理系统的核心,主要是实现查询、修改或删除货物信息。

3车辆信息管理子系统

该子系统功能主要包括查询、修改或删除车辆信息4.公告信息管理子系统

该子系统功能主要包括公告信息的查询、添加、修改及删除4个部分。

5.物流信息模块

6.后台模块

实现管理员方式进入后台,进行各个方便的修改,增加操作。更进一步的方便的网站管理。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。Eclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对一模块进行单独的扩展和升级。

3.3本章小结

本章简要地说明了该系统的需求分析。并且从开发环境等多方面得出结论,本系统无论在技术上的、经济上还是在运行上都是可行的,因此本系统具有一定的开发前景。

第4章总体设计

4.1 系统物理结构设计

系统结构的设计是否合理决定了整个系统设计的合理性,正因为如此,合理的系统结构就成为在对系统进行整体设计之前首要考虑的对象。

对于典型的数据库管理系统,尤其是像物流信息官系统这样数据流量较大的网络管理系统,必修要满足使用方便。操作灵活等设计需求。物流管理系统的系统目标如下:

1. 网站整体结构和操作流程合理顺畅,实现人性化设计。

2. 向客户全面展示公司各项业务。

3. 让客户了解公司公告信息。

4. 为会员提供货运单信息功能。

5. 为管理员提供后台登录入口。

6. 通过后台,管理员可以对运单信息进行全面管理。

7. 通过后台,管理员可以对公司公告信息进行全面管理。

8. 通过后台,管理员可以对公司各项业务信息进行全面管理。

9. 通过后台,管理员可以对会员信息进行全面管理。

10. 系统运行稳定,安全可靠。

基于以上因素,为便于开发和用户的使用决定采用了B/S三层体系结构,同时由于物流管理系统需要对物流的信息进行集中管理与统一处理,而且采用了以Web数据库技术为核心的动态网页技术来实现,因此采用B/S的三层结构,它的Web的平台无关性,使得网站的系统结构可以任意扩展,同时也具有很强的开放性和信息系统集成性,也更方便提供灵活的信息交流和信息发布服务。

4. 系统功能模块设计

整个系统大体由个关键模块组成,分别为用户模块、车辆信息模块、货物信息模块、公告信息模块。

1.用户模块详细设计

用户信息管理模块是管理本系统的用户信息,包括用户登录信息和,确保了系统的安全性。

功能图如下图4-2所示



图4-2 用户信息功能图

2.货物信息管理模块详细设计

该模块是本系统的核心模块,由四个子模块组成,它们是添加货物信息模块、修改货物信息模块、删除货物信息模块、查询货物信息模块。本模块具有四项功能:

添加货物信息

修改货物信息

删除货物信息

查询货物信息

货物信息管理功能模块图如下图4-3所示



图4-3货物信息管理功能图

车辆管理模块详细设计

该模块由四个子模块组成,这四个子模块分别是:车辆信息查询子模块、车辆信息修改子模块、车辆信息添加子模块和车辆信息删除子模块。系统功能模块图如下图-4所示。

图4-4车辆信息管理功能模块图

4公告信息管理模块详细设计

该模块实现对公告维护和管理,其中包括:公告信息的查询,公告信息的添加,公告信息的删除,公告信息的修改。公告信息管理功能图如下图4-所示



图4-公告信息管理功能模块图信息管理模块详细设计

该模块实现对维护和管理,信息管理功能图如下图4-所示



图4-信息管理功能模块图4.4 数据库设计数据库设计是对保存网站数据的数据库结构进行设计,主要是设计出数据表的结构,包括数据表中各字段的数据类型以及字段类型的长度等。合理的设计出数据库的结构对整个网站的开发具有非常重要的作用。

4.4.1 数据库的E-R图

根据以上对系统所做的需求分析和系统设计,规划本系统中使用的数据库实体分别为会员实体、公告信息实体、车辆信息实体、货物信息实体、管理员信息实体及物流信息实体。下面分别介绍几个关键实体的E-R图。

货物信息管理E-R图,货物信息由6个属性,分别为货物编号、货物名称、运输类型、货物单位、货物数量、货物类型,如下图-7所示。



图-7 货物信息E-R图

2.车辆信息管理E-R图,车辆信息由6个属性,分别是车牌号码、车辆类型、驾驶员姓名、车辆载重、车牌品名、使用时间。如下图所示。图-8 车辆信息E-R图

3.用户信息管理E-R图,用户有9个属性,分别为性别、电子邮箱、密码、找回密码提示问题、找回密码提示问题、注册时间、联系电话、会员编号、账号。如下图-9所示。



图4-9 用户信息E-R图

公告息管理E-R图,公告信息有5个属性,分别为公告内容、公告标题、公告发布时间、公告编号、公告发布人,如下图4-所示。



图4-10 公告信息E-R图

4.4. 数据库表设计

本项目的数据库命名为:db_WuLiudb_WuLiu数据库中有张表如下。表4-1 tb_WuLiuxx(物流信息表)

序号 名 类型 长度(字符) 1 ID √ 2 Title varchar 50 3 NeiRong varchar 500 4 Author varchar 50 5 IssueDate datetime 货物信息表存放了货物的相关信息,包括货物编号,货物类型,货物名称等相关信息,表中各个字段的说明如下表4-2所示。

表4-TB_HUOWUXX(货物信息表)

序号 名 类型 长度(字符) 1 ID √ int 2 GoodsStyle varchar 50 3 GoodsName varchar 100 4 GoodsNumber varchar 50 5 GoodsUnit varchar 50 6 StartProvince varchar 100 7 StartCity varchar 20 8 EndProvince varchar 30 9 EndCity varchar 30 10 Style varchar 50 11 TransportTime varchar 50 12 Phone varchar 50 13 Link varchar 200 14 IssueDate varchar 50 15 Remark varchar 100 16 Request varchar 50 17 UserName varchar 50 会员表存放了注册成为会员的相关信息,包括会员编号,用户名,密码,电子邮件性别等相关信息,表中各个字段的说明如下表4-3所示。

表4- TB_HUIYUANXX(会员表)

序号 名 类型 长度(字符) 1 ID √ 2 Name varchar 20 3 Password varchar 16 4 Email varchar 30 5 Sex varchar 10 6 Phone varchar 50 7 Question varchar 50 续表4-3 8 Result varchar 50 9 IssueDate varchar 50 管理员管理员表4- TB_GUANLIYUAN(管理员表)

序号 名 类型 长度(字符) 1 ID √ 2 Name varchar 50 3 Password varchar 50 4 Phone varchar 50 5 Email varchar 50 公告信息表存放了公告的相关信息,包括编号,标题,内容,作者相关信息,表中各个字段的说明如下表4-5所示。

表4- TB_GONGGAO(公告信息表)

序号 名 类型 长度(字符) 1 ID √ 2 Title varchar 50 3 Neirong varchar 200 4 Author varchar 20 5 IssueDate datetime 车辆信息表存放了车辆的相关信息,包括编号,车号等相关信息,表中各个字段的说明如下表4-6所示。

表4-  tb_CarMessage(车辆信息表)

序号 名 类型 长度(字符) 1 Code √ 2 TradeMark nvarchar 20 3 Brand nvarchar 50 4 Style nvarchar 30 5 CarLoad nvarchar 10 续表4-6 6 UsedTime varchar 50 7 DriverName nvarchar 30 8 DriverTime varchar 50 9 LicenceNumber nvarchar 50 10 LicenceStyle nvarchar 20 11 TranspotStyle nvarchar 20 12 LinkMan nvarchar 20 13 LinkPhone nvarchar 50 14 Remark nvarchar 100 15 IssueDate datetime 16 UserName varchar 20 4.5 数据库的完整性和安全性

1.数据库的完整性

数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件——完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。

本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体的完整性控制。

2.数据库的安全性

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的破坏和非法的存取[12]。

本系统包括数据库的安全和服务器的安全。采用管理员表示和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。在登录数据库时,系统让管理员户表示自己的身份,不同的管理员权限不同,系统进行核实,鉴别此管理员是否为合法用户,若是,系统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。服务器的安全也是通过用户在登录服务器时输入合法的用户名和密码来实现的。这是一种简单可行的方法,实现起来比较方便。没有采用更加复杂的系统安全管理措施是因为本管理系统一般是应用在企业内部网中,采用安全管理措施主要是为了防止没有修改权限的用户无意间修改了数据,因此采用用户标识和鉴定的安全管理措施就能够保障数据库的安全性

4.本章小结

本章的主要内容是介绍了物流管理网站总体设计思路,首先分别对系统的物理结构和逻辑结构进行说明。然后又说明了系统功能模块的设计以及数据库的完整性与安全性,使用户对网站有更深入的了解。

5.1 系统结构的设计与实现

5.2 系统功能的设计与实现

5.2.1页面的实现



图5-2 用户注册界面

5.2.2 货物信息管理界面的实现

-4所示。

图5-3 货物信息查询界面

实现货物信息查询执行语句跳转至HuoWuXXServlet中执行查询query(request,response)方法具体方法如下:

private void query(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException, SQLException, ServletException, IOException {

List list = service.query();

request.setAttribute("list", list);

request.getRequestDispatcher("/qiantai/houwuxx/list.jsp").forward(request, response);

}



图5-4 货物信息发布界面

实现货物信息的添加执行语句
跳转至HuoWuXXServlet中执行add(request,response)转至发布货物页面,方法具体方法如下:

private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.getRequestDispatcher("/qiantai/houwuxx/add.jsp").forward(request, response);}

货物信息发布后执行的添加保存方法如下:

private void saveadd(HttpServletRequest request,HttpServletResponse response) throws ClassNotFoundException, SQLException, IOException {

DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");

DateFormat format2= new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss");

Date date = null;

String str = null;

date=new Date();

str=format1.format(date);

str=format2.format(date);

String hwlx = request.getParameter("hwlx");

String hwmc = request.getParameter("hwmc");

String hwsl = request.getParameter("hwsl");

String sldw = request.getParameter("sldw");

String qssf = request.getParameter("qssf");

String qscs = request.getParameter("qscs");

String ddsf = request.getParameter("ddsf");

String ddcs = request.getParameter("ddcs");

String yslx = request.getParameter("yslx");

String yssj = request.getParameter("yssj");

String lxdh = request.getParameter("lxdh");

String lxr = request.getParameter("lxr");

String bz = request.getParameter("bz");

String clyq = request.getParameter("clyq");

Hwxx hwxx = new Hwxx();

hwxx.setGoodsstyle(hwlx);

hwxx.setGoodsname(hwmc);

hwxx.setGoodsnumber(hwsl);

hwxx.setGoodsunit(sldw);

hwxx.setStartprovince(qssf);

hwxx.setStartcity(qscs);

hwxx.setEndprovince(ddsf);

hwxx.setEndcity(ddcs);

hwxx.setStyle(yslx);

hwxx.setTransporttime(yssj);

hwxx.setPhone(lxdh);

hwxx.setLink(lxr);

hwxx.setIssuedate(str);

hwxx.setRemark(bz);

hwxx.setReques(clyq);

hwxx.setUsername("312");

service.saveadd(hwxx);

response.sendRedirect(request.getContextPath()+"/qiantai/hwxx?method=query");

}

5.2.3 车辆信息管理界面的实现

跳转至CheLiangXXServlet中执行query(request,response)方法,具体方法如下:

private void query(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException, SQLException {

List list = service.query("");

request.setAttribute("list", list);

request.getRequestDispatcher("/qiantai/cheliangxx/list.jsp").forward(request, response);

}

车辆信息添加的实现过程,在车辆信息查询页面中,如果会员想发布车辆信息,可单击发布信息超链接,进入车辆信息添加页面如图5-6所示。



图5-6 车辆信息添加界面

实现车辆信息的添加执行语句
跳转至CheLiangXXServlet中执行add(request,response)转至发布车辆信息页面,方法具体方法如下:

private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.getRequestDispatcher("/qiantai/cheliangxx/add.jsp").forward(request, response);

}

当用户添加完车辆信息时,执行saveadd(request,response) private void saveadd(HttpServletRequest request,HttpServletResponse response) throws IOException, ClassNotFoundException, SQLException {

DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");

DateFormat format2= new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss");

Date date = null;

String str = null;

date=new Date();

str=format1.format(date);

str=format2.format(date);

String cphm = request.getParameter("cphm");

String cllx = request.getParameter("cllx");

String clpm = request.getParameter("clpm");

String clxl = request.getParameter("clxl");

String ysynx = request.getParameter("ysynx");

String yslx = request.getParameter("yslx");

String jsyxm = request.getParameter("jsyxm");

String jszhm = request.getParameter("jszhm");

String jsyjl = request.getParameter("jsyjl");

String jslx = request.getParameter("jslx");

String lxdh = request.getParameter("lxdh");

String lxr = request.getParameter("lxr");

String bz = request.getParameter("bz");

clxx cl = new clxx();

cl.setTrademark(cphm);

cl.setStyle(cllx);

cl.setBrand(clpm);

cl.setCarload(clxl);

cl.setUsedtime(ysynx);

cl.setTranspotstyle(yslx);

cl.setDrivername(jsyxm);

cl.setLicencenumber(jszhm);

cl.setDrivertime(jsyjl);

cl.setLicencestyle(jslx);

cl.setLinkphone(lxdh);

cl.setLinkman(lxr);

cl.setRemark(bz);

cl.setIssuedate(str);

service.saveadd(cl);

response.sendRedirect(request.getContextPath()+"/qiantai/clxx?method=query");

}

5.3 本章小结

本章的内容主要是通过图文并茂的形式描述了本网站,同时也对其用途和设计做了详细介绍。通过本章的介绍,可以对本系统的设计有一个全面的了解。

结 论

经过三个多月的设计和开发,物流系统基本开发完毕,其功能已经基本实现,基本满足了企业和用户的要求,实现了用户信息管理、货物信息管理和车辆信息管理等功能,目标是使物流系统在管理上做到数据的信息化、科学化和网络化。本系统主要包括用户信息管理、货物信息管理、车辆信息管理管理、公告信息管理等模块。

本系统基本实现了物流公司人员所要求的功能,方便了物流管理人员对物流信息的管理和掌握。因为学习能力和条件的限制,目前本系统还不是太完善,功能还不是很强大,系统功能趋于简单,而且系统中对数据的添加、删除和修改都没有图形快捷键操作,而且整个系统的界面显得过于单调,缺乏动态图形显示效果。针对以上分析,对物流管理系统作如下改进:

1.应该将系统功能集现代运输、仓存、配送、搬运、包装、产品流通及信息管理于一体,实现商品从原料供应商、制造商、分销商、零售商到消费者的各个环节有机结合的系统才是真正意义上的物流管理系统。

2.加强系统图形显示功能。如果能结合其它界面美化工具,界面就能更加人性化。

致 谢

首先,要特别感谢的是我的指导老师,从论文的选题,搜集资料到论文撰写及修改都倾注了导师大量的心血。老师的耐心点拨和细致知道让我不断增强克服困难的信心,最终完成了这篇论文。他严谨的治学态度使我受益匪浅。借此论文完成之际,谨向辛勤指导过我的导师致以最衷心的感谢。

另外,我要对院领导表达深深的谢意,四年的大学生活以最后的毕业设计收尾,然而我所得到的并非只是这些,毕业设计见证了我学习的能力与成果,然而更多的点点滴滴都渗透于平时,感谢这四年来院领导为我们所创造的优美学习和生活环境。在毕业设计以及平日的学习过程中,图书馆一直是我增长学识的源泉,给予我不可估量的精神财富,这笔精神财富让我在面对社会各种各样的竞争和压力时增添了许多信心,同时也让我深切体验到学习的快乐,在此,我代表所有的2015届即将毕业的同学对学校的领导们道声:“谢谢您们!”。

感谢我们班的同学,在学习和生活上,是他们给了我莫大的帮助和无微不至的关怀和照顾。

感谢我的家人,他们是我身后坚强的后盾,无论什么困境,家,都是一个安全的避风港。

最后感谢所有关心、支持和帮助过我的人们。

参考文献

2005:21-32

2 姜龙.物流对市场的影响.物流资讯杂志,2004:22-44

3 Simon Brown,Sam Dalton,Dan Jepp著JSP编程指南白雁等译第三版.北京:电子工业出版社,2004(7):18-22

,20:聂广来,张宏军,郝文宁 基于J2EE Web应用的框架设计与实现电子工程师2005,(3):88-90李华吴六爱JSP网页中JDBC数据动态查询的强化方法 兰州交通大学学报2004,21(01):24-28

8 罗在文.JSP技术访问SQL Server数据库的设计与实现.长春理工大学学报(自然科学版),2010,52(03):9 李昭原,罗哓沛数据库技术新进展清华大学出版社,20045:117-124电子工业出版社 2010,3:312-341

出版社 2004,12:201-222

12 黄晓韩,.网络与信息,2010,29(08):出版社2009,12:-391

14 孙卫琴,李洪成精通Java与Tomcat基于Java Web的应用开发详解电子工业出版社2004.5:18-27

1 Anderson,A.Effectiva.Java Second Edition.Oxford University Press,

2005:124-145 附录1客户/服务器系统

客户机/服务器系统的主要思想是,你有一个中央信息库通常是保存在数据库中的一些信息要根据需要,把它们分配给某些人或机器。客户机/服务器系统的关键在于,信息库会集中管理信息,因此信息的修改能够传播到用户那里。信息库,分发信息的软件,以及存储信息的软件的机器合起来称为服务器。存储在远程机器上的软件会同这个服务器通讯,提取信息,处理信息,并且在过程机器上显示结果。这被除数称为客户。

这么看来,客户/服务器计算机的基本概念没那么复杂。但是,当你试图用孤零零的一个服务器来为很多客户服务的时候,问题就来了。这个架构通常都会牵扯到数据库管理系统,所以为了优化应用,设计人员会去“平衡”数据的格式。此外,通常系统还允许客户往服务器里插入新的数据。这就意味着你必须保证一个客户的新数据不会和另一个客户的新数据搅在一起,以及数据不会在添加的过程中遗失(这被称为事务处理)。当客户端的程序修改之后,还必须重新编译,调试并且安装到客户机上,这要比你想像的复杂昂贵得多。而且如果要支持多种机器或操作系统的话,事情会更麻烦。最后还有一个最重要的性能问题:服务器可能会同时响应成百上千个客户,所以再小的耽搁都是很要命的。为了把延时降到最低,程序员们尽量减轻服务的负载,通常会把这些处理任务挪到客户端,不过有时也会移到所谓的中间件的服务器上。(中间件也被用来增进系统的可维护性。)

分发数据这个简单的思想竟然会引出这么些复杂层次,而所有这些问题看起来都像是根本不可能解开的谜。但还有更重要的:大约有一半的开发项目都是基于客户/服务器架构的。它们包括像接收订单,信用卡交易额以及分发各种各样的数据股票市场的,科研的,政府部门的,只要你能叫的上名字的。以前我们的作法是为每个问题设计不同的解决方案,每次都发明一种新方法。这种项目开发起来难,用户用起来也不方便,它们必须适应新的界面。客户/服务器架构这个问题必须要能在总体上解决。

把Web当作巨型的服务器

Web实际上就是一个巨型的客户/服务器系统。实际上还差一点,因为所有的服务器和客户机是共存在同一个网络上的。不过这点你并不知道,因为你只关心是不是能连到那台服务器,并且对它进行操作(尽管你可能得先在什么地方找到那台服务器)。

最初这只是个关向过程。你向服务器提请求,它交给你一个文件,然后你用本地机上的浏览器(也就是客户)来解释这个文件并且为它重新排版。但没过多久,人们就不满足于仅仅从服务器收发文件了。他们需要完整的客户/服务器功能,所以客户也能向服务器发送信息了,比如查询服务器端的数据库,向服务器添加新的信息,或者下单(这项任务所要求的安全性比系统原先能提供的要高得多)。这些就是我们在Web的发展历程中亲眼目睹的变化。

Web浏览器是一项巨大的进步:它的思想是要让同样的信息以通常的形式显示在所有的机器上。然而浏览器还是太原始了一些,而且也很快被加在它身上的任务给拖垮了。它的互动性不好,而且所有需要编程解决的任务都要交到服务器上去处理,所以经常会把服务器和Internet给堵了。有时可能会花几秒钟,甚至是几分钟,才会发现提交的请求里面有一个拼写错误。由于浏览器只是用来显示,不能承担哪怕是最简单的计算任务。(另一方面这样也很安全,因为它不会在你的本地机上执行可能包含bug或病毒程序。)

为了解决这个问题,人们用了很多办法。开始是升级图形超标准,让浏览器能显示效果更佳的动画和视频。但是有些问题,只能通过让客户端的浏览器运行程序来解决了。这被称为客户端编程。

客户端编程

Web最初的服务器——浏览器设计提供了互动内容,但是这种互动性是完全建立在服务器之上的。服务器为客户端提供静态页面,而浏览器只是简单的解释页面,然后显示出来。HTML包括了基本的数据采集功能:输入框,复选框,单选按钮,列表,下拉式列表,以及只能用于清除表单或是把表单数据提交给服务器的按扭。提交上来的数据会交给Web服务器上的通用网关接口程序。这些文本会告诉CGI该做些什么。最常见的就是在服务器上运行一个程序,这个程序一般会放在cgi-bin”目录中。(如果按完Web页面上的按扭之后,你仔细观察浏览器顶部的地址条的话,有时你就会在那些不知所云的东西中看到cgi-bin”。)大多数语言都可以写这些程序。Perl是最常用的,因为它设计的目的就是为了处理和解释文本,所以不论服务器用的是那种处理器,或是那种操作系统,都能安装Perl。但Python由于其功能强大简单易用,已经对Perl的霸主地位发起了挑战。

很多大型网站都是完全建立在CGI之上的,而且实际上你能用CGI来做几乎任何事情。但是建立在CGI之上的网站会很快变得过于复杂而难以维护,此处还有一个相应时间的问题。CGI程序的相应时间取决于它要发送多少数据,以及服务器端各Internet的负载(而且CGI程序本身就启动很慢)。最初设计Web的人没能预料到带宽会消耗在这类应用程序中。举例来说,动态图形实际上是不可能一致地运行的,所以服务器会把所有版本的GIF文件都传到客户端。而且,毫无疑问你肯定做过像填写表格这种简单的事。当你按了发送按钮之后,数据会被送回到服务器,然后服务器启动CGI程序,但是发现有个错误,于是重新生成一个HTML告诉你出来错,再把这个页面传给你;然后你再重头来一遍。这样做不但慢,而且蠢。

解决方案就是客户端编程。绝大多数运行Web浏览器的机器都有强大的引擎,能作很多工作,而且在原告静态的HTML方法下,大多数时间,它们都是在傻等着服务器发送下一个页面。客户端编程意味着Web浏览器能物尽其用,结果是用户能更快同时也更互动地体验你的网站。

客户端编程所遇到的问题同通用编程的没有什么本质性的区别。参数几乎是相同的,只是平台有写差异;浏览器就是一个小型的操作系统。最后,你还得写程序,还要解决一串让人眼花缭乱的问题,还是提供客户端编程的解决方案。本节的余下部分会简要介绍客户端编程的问题与方法。

插件

在客户端编程方面最重要的步骤之一就是开发插件。这是程序员就为浏览器提供新功能的办法。它要求用户从网上下载插件程序,然后把它集成到浏览器里。插件告诉浏览器从今往后,你可以进行这些新的工作了(插件只需下载一次。)插件为浏览器添加了一些快速强大的功能,但是写一个插件可不是什么轻松的任务,也不应该是建网站应该作的事。插件对于客户端编程的价值在于,它能让专家级的程序员开发一种新的语言,并且不经开发商的同意,就把这种语言加进浏览器里。于是插件提供了一个能创建新的客户端编程语言的后门(尽管不是所有的语言都是通过插件来实现的)。

脚本语言

插件导致了脚本语言的泛滥。你可以用脚本语言把客户端程序的源代码直接嵌进HTML页面里去,HTML页面显示的时候,会自动激活这个插件去解释这些程序的。脚本语言应该比较简单,而且作为HTML页面的一个部分,它们都是简单的文本,所以会随页面一起获取,而且装载也很快。不过代价就是代码只能给别人看了(或者说偷了)。总之,由于你没法用脚本语言做非常复杂的东西,所以它的难度不会太大。

这一点决定了Web浏览器所用的脚本语言实际上是用来解决某些具体的问题的,主要是创建更丰富的,更互动的用户界面的(GUI)。然而,脚本语言也许能解决百分之十的客户端编程的问题。可能你要解决的问题正好落进这百分之八十的范围,而且由于脚本语言开发起来更简单也更快,所以你应该在选用Java或ActiveX这类难度更大的方案之前,先考虑一下脚本语言。

最常被提及的浏览器用的脚本语言有JavaScript(跟Java没什么关系;它取这个名字只是想搭Java的顺风车),VBScript(看上去像Visual BASIC),以及Tcl/Tk,这是一种很流行的跨平台的创建GUI的语言。此外还有一些,但是正在开发肯定还要多。

JavaScript可能是人气最旺的。Netscape Navigator同Microsoft Internet(IE)都内置了这个语言。然而不幸的是这两个浏览器所支持的JavaScript在风格上有很大的不同(Mozilla支持的ECMAScript或许有一天能成为普遍支持的标准。可以到www.Mozilla.org去下载这个浏览器)。此外讲JavaScript的书可能要比其它语言的都多,而且有些工具还能自动生成包括JavaScript程序的页面。但是如果你已经熟悉了Visual BASIC或Tcl/Tk,你还是接着用吧,这要比从头学一种新的语言更有效率。

附录2

Client/Server computing

The primary idea of a client/server system is that you have a central repository of information—some kind of data, often in a database—that you want to distribute on demand to some set of people or machines. A key to the client/server concept is that the repository of information is centrally located so that it can be changed and so that those changes will propagate out to the information consumers. Taken together, the information repository, the software that distributes the information and the machine where the information and software reside is called the server. The software that resides on the remote machine, communicates with the server, fetches the information, processes it, and then displays it on the remote machine is called the client.

The basic concept of client/server computing, then, is not so complicated. The problems arise because you have a single server trying to serve many clients at once. Generally, a database management system is involved, so the designer “balances” the layout of data into tables for optimal use. In addition, systems often allow a client to insert new information into a server. This means you must ensure that one client’s new data doesn’t walk over another client’s new data, or that data isn’t lost in the process of adding it to the database (this is called transaction processing). As client software changes, it must be built, debugged, and installed on the client machines, which turns out to be more complicated and expensive than you might think. It’s especially problematic to support multiple types of computers and operating systems. Finally, there’s the all-important performance issue: You might have hundreds of clients making requests of your server at any one time, so any small delay is crucial. To minimize latency, programmers work hard to offload processing tasks, often to the client machine, but sometimes to other machines at the server site, using so-called middleware. (Middleware is also used to improve maintainability.)

The simple idea of distributing information has so many layers of complexity that the whole problem can seem hopelessly enigmatic. And yet it’s crucial: Client/server computing accounts for roughly half of all programming activities. It’s responsible for everything from taking orders and credit-card transactions to the distribution of any kind of data—stock market, scientific, government, you name it. What we’ve come up with in the past is individual solutions to individual problems, inventing a new solution each time. These were hard to create and hard to use, and the user had to learn a new interface for each one. The entire client/server problem needs to be solved in a big way.

The Web as a giant server

The Web is actually one giant client/server system. It’s a bit worse than that, since you have all the servers and clients coexisting on a single network at once. You don’t need to know that, because all you care about is connecting to and interacting with one server at a time (even though you might be hopping around the world in your search for the correct server).

Initially it was a simple one-way process. You made a request of a server and it handed you a file, which your machine’s browser software (i.e., the client) would interpret by formatting onto your local machine. But in short order people began wanting to do more than just deliver pages from a server. They wanted full client/server capability so that the client could feed information back to the server, for example, to do database lookups on the server, to add new information to the server, or to place an order (which required more security than the original systems offered). These are the changes we’ve been seeing in the development of the Web.

The Web browser was a big step forward: the concept that one piece of information could be displayed on any type of computer without change. However, browsers were still rather primitive and rapidly bogged down by the demands placed on them. They weren’t particularly interactive, and tended to clog up both the server and the Internet because any time you needed to do something that required programming you had to send information back to the server to be processed. It could take many seconds or minutes to find out you had misspelled something in your request. Since the browser was just a viewer it couldn’t perform even the simplest computing tasks. (On the other hand, it was safe, because it couldn’t execute any programs on your local machine that might contain bugs or viruses.)

To solve this problem, different approaches have been taken. To begin with, graphics standards have been enhanced to allow better animation and video within browsers. The remainder of the problem can be solved only by incorporating the ability to run programs on the client end, under the browser. This is called client-side programming.

Client-side programming

The Web’s initial server-browser design provided for interactive content, but the interactivity was completely provided by the server. The server produced static pages for the client browser, which would simply interpret and display them. Basic HyperText Markup Language (HTML) contains simple mechanisms for data gathering: text-entry boxes, check boxes, radio boxes, lists and drop-down lists, as well as a button that can only be programmed to reset the data on the form or “submit” the data on the form back to the server. This submission passes through the Common Gateway Interface (CGI) provided on all Web servers. The text within the submission tells CGI what to do with it. The most common action is to run a program located on the server in a directory that’s typically called “cgi-bin.” (If you watch the address window at the top of your browser when you push a button on a Web page, you can sometimes see “cgi-bin” within all the gobbledygook there.) These programs can be written in most languages. Perl has been a common choice because it is designed for text manipulation and is interpreted, so it can be installed on any server regardless of processor or operating system. However, Python (my favorite—see www.Python.org) has been making inroads because of its greater power and simplicity.

Many powerful Web sites today are built strictly on CGI, and you can in fact do nearly anything with CGI. However, Web sites built on CGI programs can rapidly become overly complicated to maintain, and there is also the problem of response time. The response of a CGI program depends on how much data must be sent, as well as the load on both the server and the Internet. (On top of this, starting a CGI program tends to be slow.) The initial designers of the Web did not foresee how rapidly this bandwidth would be exhausted for the kinds of applications people developed. For example, any sort of dynamic graphing is nearly impossible to perform with consistency because a Graphics Interchange Format (GIF) file must be created and moved from the server to the client for each version of the graph. And you’ve no doubt had direct experience with something as simple as validating the data on an input form. You press the submit button on a page; the data is shipped back to the server; the server starts a CGI program that discovers an error, formats an HTML page informing you of the error, and then sends the page back to you; you must then back up a page and try again. Not only is this slow, it’s inelegant.

The solution is client-side programming. Most machines that run Web browsers are powerful engines capable of doing vast work, and with the original static HTML approach they are sitting there, just idly waiting for the server to dish up the next page. Client-side programming means that the Web browser is harnessed to do whatever work it can, and the result for the user is a much speedier and more interactive experience at your Web site.

The problem with discussions of client-side programming is that they aren’t very different from discussions of programming in general. The parameters are almost the same, but the platform is different; a Web browser is like a limited operating system. In the end, you must still program, and this accounts for the dizzying array of problems and solutions produced by client-side programming. The rest of this section provides an overview of the issues and approaches in client-side programming.

Plug-ins

One of the most significant steps forward in client-side programming is the development of the plug-in. This is a way for a programmer to add new functionality to the browser by downloading a piece of code that plugs itself into the appropriate spot in the browser. It tells the browser “from now on you can perform this new activity.” (You need to download the plug-in only once.) Some fast and powerful behavior is added to browsers via plug-ins, but writing a plug-in is not a trivial task, and isn’t something you’d want to do as part of the process of building a particular site. The value of the plug-in for client-side programming is that it allows an expert programmer to develop a new language and add that language to a browser without the permission of the browser manufacturer. Thus, plug-ins provide a “back door” that allows the creation of new client-side programming languages (although not all languages are implemented as plug-ins).

Scripting languages

Plug-ins resulted in an explosion of scripting languages. With a scripting language, you embed the source code for your client-side program directly into the HTML page, and the plug-in that interprets that language is automatically activated while the HTML page is being displayed. Scripting languages tend to be reasonably easy to understand and, because they are simply text that is part of an HTML page, they load very quickly as part of the single server hit required to procure that page. The trade-off is that your code is exposed for everyone to see (and steal). Generally, however, you aren’t doing amazingly sophisticated things with scripting languages, so this is not too much of a hardship.

This points out that the scripting languages used inside Web browsers are really intended to solve specific types of problems, primarily the creation of richer and more interactive graphical user interfaces (GUIs). However, a scripting language might solve 80 percent of the problems encountered in client-side programming. Your problems might very well fit completely within that 80 percent, and since scripting languages can allow easier and faster development, you should probably consider a scripting language before looking at a more involved solution such as Java or ActiveX programming.

The most commonly discussed browser scripting languages are JavaScript (which has nothing to do with Java; it’s named that way just to grab some of Java’s marketing momentum), VBScript (which looks like Visual BASIC), and Tcl/Tk, which comes from the popular cross-platform GUI-building language. There are others out there, and no doubt more in development.

JavaScript is probably the most commonly supported. It comes built into both Netscape Navigator and the Microsoft Internet Explorer (IE). Unfortunately, the flavor of JavaScript on the two browsers can vary widely (the Mozilla browser, freely downloadable from www.Mozilla.org, supports the ECMAScript standard, which may one day become universally supported). In addition, there are probably more JavaScript books available than there are for the other browser languages, and some tools automatically create pages using JavaScript. However, if you’re already fluent in Visual BASIC or Tcl/Tk, you’ll be more productive using those scripting languages rather than learning a new one.



















I



31





物流管理系统



登陆网站



管理员



信息查询



车辆信息管理管理



货物信息管理



用户管理



公告信息发布



公告信息



车辆信息



各类信息查询



货物信息



用户信息



游客



查询

信息



用户信息



用户前台注册



用户前台登录



货物信息管理



货物信息查询



货物信息修改



货物信息添加



货物信息删除



车辆信息管理



车辆信息查询



车辆信息修改



车辆信息添加



车辆信息删除



货物编号



运输类型



货物单位



货物数量



货物名称



货物类型



货物信息



车牌号码



车牌品名



驾驶员姓名



车辆载重



使用时间



车辆类型



车辆信息



性别



会员编号



联系电话



电子邮箱



找回密码提示问题



找回密码提示答案



注册时间



帐号



密码



用户



公告内容



公告标题



公告编号



公告发布人



公告发布时间



公告信息







献花(0)
+1
(本文系zy_360tsg首藏)