项目报告

电脑彩票销售管理系统的设计与实现

随着改革开放的推进,国民经济的快速发展,人们的生活水平稳步提高。网络已经悄然的走进千家万户,网络作为新型的科技工具,给商界带来了翻天覆地的变化,它的迅速发展为商业界提供了更加广阔信息平台与更多的商机,如电脑彩票销售管理系统的设计与实现的发展如雨后春笋一般快速发展。因此为了适应时代发展的需要,选择设计开发一个电脑彩票销售管理系统的设计与实现网站拥有重要的意义。福彩事业的喷薄发展,注定了电脑彩票的发展,现代社会互联网的飞速发展,足不出户可以实现彩票的购买,电脑彩票一定会受到大多数人的欢迎。彩票种类大体分为体彩和福彩,其中福利彩票包括:双色球、3D、七乐彩、两步彩、PK10;体育彩票包括超级大乐透、排列3、排列5、22选5、七星彩、传统足彩胜负/半全场/进球彩。其中双色球,七乐彩,大乐透,七星彩,排列三,排列五。

本系统前台主要使用JSP作为开发语言,后台使用MySQL作为数据库管理系统,开发环境是MyEclipse,服务器利用tomcat,开发出的一个基于Web技术的B/S结构。系统建成后将使电脑彩票销售管理系统的设计与实现工作变得系统化、提高工作效率,减少失误,同时本系统操作方便,易于维护,必能得到广泛应用。本专题网站采用B/S结构,JSP技术,MYSQL数据库进行了开发,功能齐全,界面布局合理,操作简单,符合当今发展需求。

彩票的发展除了有助于福彩事业的辉煌和体育事业的发展,更可以让少数的人体会到中奖的乐趣。电脑彩票更加快捷方便的实现人们支持福利事业的心,同时回报用户巨额奖金,取之于民用之于民。彩票符合个体追求经济的动机。亚当·斯密中指出:一个自利主义者在追求自己的利益时,他盘算的只是他自己的安全和他自己的收获。在这种场合,他受到一只看不见的手的指导,通过追求他自身的利益,他经常促进社会的利益,而且比他真正有意去促进社会利益来得更加有效。此即为“经济人”假设理论,它表明,彩票活动符合个体追求的经济动机。

电脑彩票销售,互联网,客户, 彩票;

             } else {               

response.setCharacterEncoding("gbk");

                    PrintWriter writer = response.getWriter();

                  writer.print("<script  language='javascript'>alert('用户名已经存在,注册失败!');window.location.href='register.jsp'; </script>");

             }

      }

4.2.2彩票查看模块实现

用户不管登录与否都可以搜索、查看网站内的所有彩票信息,如彩票名称、分类、彩票图片、销量、原价、优惠幅度等,本系统只收入了如七星彩,七乐彩,双色球,具体如图4.6所示,简单展示彩票类型,未全部展示。

4.6查看彩票页面

购买彩票流程图如图4.7所示:

4.7查看彩票流程图

彩票详细信息如图4.8所示,这里就不一一列举,只列举一个彩票的信息;

4.8彩票详细信息

同时彩票查看还可以通过彩票搜索功能进行实现,通过输入彩票名称即可出现对应的彩票。如图4.9所示;

图4.9 彩票搜索功能的实现

4.3 页面实现

4.3.1 用户登录页面实现

用户登录后才可以在系统中完成彩票的操作,收货后可以写出对彩票的评价,发表自己的感想,页面如下图4.10所示:

图4.10用户登陆界面

管理员用户只有一个不可以注册,只可以登陆进行普通用户与用户界面的维护与管理;管理员登录如图4.11所示;

                        图4.11管理员用户登陆界面

                    return null;

             }

             request.setAttribute("cartItems", CartService.getItems());

             request.setAttribute("dropcartItems", CartService.getDropItems());

             request.setAttribute("price1", CartService.getPrice1());

             request.setAttribute("price2", CartService.getPrice2());

             request.setAttribute("price1-price2", CartService.getPrice1()-CartService.getPrice2());

             this.setUrl("cartlist.jsp");

             return SUCCESS;

      }

4.3.3 我的订单页面实现

用户添加彩票预定车生成订单后可以在我的订单中查看预定详情,管理员是否给发货等,如图4.13所

图4.13我的订单信息

4.3.4 我的评价页面实现

用户预定后可以填写对彩票的评价信息,与管理员沟通,如图4.14所示:

4.14我的评价页面

4.3.5 修改密码页面实现

管理员登录后可以修改登录密码,如图4.15所示:

4.15修改密码页面

4.3.6 彩票管理页面实现

网站前台的彩票信息由管理员在此添加,添加后可以搜索彩票,设置新品推荐,彩票入库,修改或是删除等操作,如图4.16所示:

4.16彩票管理页面

4.3.8 彩票类型的增删改查页面实现

管理员可以根据彩票的类型进行增删改查,增加最新的彩票,删除停产的彩票如图4.17所示,

4.17彩票类型增删改查

4.3. 销售总金额统计页面实现

在此模块中管理员可以时刻查看网站彩票情况,掌握最新的网站彩票动态。本模块包括彩票销售图表统计、彩票总金额排行榜功能,十分方便,如图4.17所示:

4.17彩票销售总金额统计页面

4.3.8 用户会员增删改查界面实现

在管理员界面进行普通用户的增删改查,如图4.18所示

4.18会员的增删改查界面

4.3.9所有用户订单的增删改查界面实现

管理员可以对所有用户的购物订单进行增删改查,如图4.19所示

图4.19 用户订单的增删改查

4.3.10彩票销量排行榜界面实现

彩票的销量管理员可以进行查看,如图4.20所示

4.20彩票销量排行榜

4.3.11系统公告信息管理界面

管理员可以对系统公告进行增删改查,如图4.21所示

图4.21系统公告信息管理

第5章 关键技术介绍

5.1 java技术简介

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。目前常用的Java平台基于Java1.5,最近版本为Java1.7。 Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:

(1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。

(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。

(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。

(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,协作,创作,责任,诚信是人才的基本素质。

JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK  。

另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment)JRE是支持Java程序运行的标准环境。

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可。

5.2 mysql简介

网站系统数据库使用的是MYSQL5.0数据库开源网站系统数据库。

Mysql5.0数据库使用C和C++系统程序编写,并使用了多种程序编译器进行系统程序测试,支持AIX、HP-UX、Linux、Mac OS、OS/2 Wrap、Windows等多种电脑操作系统;支持多线程系统,提供TCP/IP、ODBC和JDBC等多种系统数据库连接方式;可以处理拥有上千万条记录的大型系统数据库。常见的数据库无非可以分为两类,一类是关系型数据库(Oracle,DB2,MySQL,SQL Server )和非关系型数据库(NoSql、MongeDB)。不同的数据库都有各自的优缺点,此处不做就具体介绍了。

由于Mysql5.0数据库是免费的软件,因此可以大大降低开发项目的总体拥有成本。MYSQL5.0数据库的运用:与其他的大型网站系统数据库例如Oracle、DB2、SQL Server等相比较,MYSQL5.0数据库自有它的不足之处,如系统规模比价小,数据库功能有限等,但是这些问题丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MYSQL5.0数据库提供的功能已经绰绰有余,而且由于MYSQL5.0数据库是免费的软件,因此可以大大降低总体成本。

对于一般的个人的使用者和中小型的企业而言,MySQL提供的功能已经算是较为完全的,而且由于MySQL是一种开放源码的软件,因此就可以大大降低总体的使用成本。相对于其他的大型数据库比如Oracle、DB2、SQL Server等,MySQL也存在它的不足之处,例如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是它受欢迎的程度并没有因此而受到影响。

MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言,它使得存储、更新和存取信息更加容易。MySQL是一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和许多不同的客户程序以及库组成的。
    MySQL的主要目标是快速、健壮和易用。最初是因为MySQL的创始人需要这样的一个SQL服务器,它能处理与任何不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL因此就开发出来了。
    它提供C,C++,Java(JDBC),Perl,Python,PHP and TCL 的API接口;多平台支持,包括Solaris,SunOS,BSDI,SGI IRIX,AIX,DEC UNIX,Linux,FreeBSD,SCO OpenServer,NetBSD,OpenBSD,HPUX,Win9x and NT;多样的数据类型,包括有/无符号1,2,3,4,8字节integers,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,DATETIME,YEAR,SET,ENUM;非常灵活和安全的权限系统,密码加密;为Windows提供ODBC接口,可通过Access与之相联,另有第三方开发商提供多样的 ODBC驱动程序;在MySQL 3.23中使用新MyISAM最大的表大小可达8百万 TB(2^63个字节);多种语言支持,但不支持中文。
    然而,为了实现快速、健壮和易用的目的,MySQL必须牺牲一部分灵活而强大的功能,如子查询、存储过程与触发器、外键、事物处理等。因而,MySQL在某些应用中缺乏灵活性,但这也使它对数据的处理速度较其它数据库服务器至少快2~3倍。

5.3  jsp简介

本系统采用JSP技术开发。因为JSP与同类的CGI、ASP、PHP相比有着独特的优势。JSP是Sun属下Javasoft公司推出的技术,使用的Java语言是ASP、PHP和JSP三者中最新的技术。它以JavaServlet技术为基础,又在许多方面作了改进,并且充分借鉴了ASP和PHP一些合理的地方。JSP的优点如下:

(1)在服务器端,JSP引擎负责解释JSP标记和脚本,生产请求的内容,然后将结果以HTML页面等形式发送回浏览器。这样开发者可以保护自己的核心代码,同时可以保证任何Web浏览器的高度兼容性。

(2)JSP页面可借助可重用的、跨平台的组件(JavaBean),来执行Web应用所要求的极为复杂的业务处理。

(3)通过开发定制化的标签库等方法,JSP技术可以支持动态扩展技术。

(4)作为Java2的一个重要组成部分,JSP技术能够支持高度复杂的、基于Web的企业级应用。

JavaBeans组件,或者就简称为bean,在JSP中通常用作网页中显示的动态内容的容器。它一般表示某些特定的东西,比如一个人,一件产品或一份采购订单等。当JSP与servlet组合起来使用时,bean可以由servlet用数据创建和初始化,并传递给仅仅将bean的数据添加到应答中的JSP页面。但是即使在纯JSP应用程序中,bean也是很有用的工具。例如用于捕获和验证用户输入。JSP为用户提供了许多产生这些内容的工具。如标准行为,自定义行为,JSP标准记忆库,JavaBeans和脚本元素。

JavaBeans规范为应被用作可组合式组件的Java类定义了一套编程约定。在外行看来,如果工具室根据这些约定开发的,那么即使工具没有关于某类的内部信息,也可以使用该类。例如,GUI构建工具可以支持作为JavaBeans组件开发的窗口小部件。JSP是用来生成动态内容的:根据用户的输入、日期和时间、外部系统的状态或其他运行时的情况,内容将有不同的变化。

JSP 技术概述

   在 Sun 正式发布 JSP(JavaServer Pages) 之后,这种新的 Web 应用开发技术很快引起了人们的关注。 JSP 为创建高度动态的 Web 应用提供了一个独特的开发环境。按照 Sun 的说法, JSP 能够适应市场上包括 Apache WebServer 、 IIS4.0 在内的 85% 的服务器产品。即使您对 ASP "一往情深",我们认为,关注 JSP 的发展仍旧很有必要。

㈠ JSP 与 ASP 的简单比较

   JSP 与 Microsoft 的 ASP 技术非常相似。两者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在 ASP 或 JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 和 JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 和 JSP 都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。

   ASP 的编程语言是 VBScript 之类的脚本语言, JSP 使用的是 Java ,这是两者最明显的区别。此外, ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下, VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。

5.4 JAVA开发工具 Eclipse/MyEclipse简介

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

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

这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。

             第6章  系统测试

5.1 系统测试的目的

软件出现错误是在所难免的,如果能采用系统而科学的方法,会减少出现错误的可能,但是这并不能说明错误就一定不会出现。当出现错误时,可以通过测试来找到,并且估计其密度。测试的目标主要包括以下四点:分析产生错误的原因;分析错误的分布情况;设计针对性强的检测方法;吸取经验,为下次测试做准备。

在软件成品使用之前进行软件测试,可以对它的质量提供保障。近几年,又有观点认为,测试应当贯穿于软件生命周期的各阶段,这样,可以及时发现错误并及时修正。否则,在产品完成时才发现错误会造成不必要的成本浪费,也为后来的修正带来困难。

软件测试常常困难重重,这是因为开发者对测试的重要作用认识不足,甚至用错误的态度来对待测试,这是非常不可取的。开发者必须得摆正自己的态度,正确认识测试,才能够提高产品的质量。

5.2 测试方案

软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。在我们设计软件的过程中,测试系统常用的测试方法主要有两种:功能测试和结构测试。

功能测试也被叫做黑盒测试和数据驱动测试,是在已经知道系统应该具有的具体功能的情况下,通过黑盒测试来测试系统功能是不是能够正常运行。在测试时,将系统当做不能打开的盒子,在不管系统内部结构与特性的状况下进行测试,它只检查系统功能是不是根据系统说明书的规定正常运行的,同时检测系统是否能正确接收的输入信息和输出信息的正确对应,并保持系统的完整性的外部信息需求。

白盒测试与黑盒测试相反,它了解系统内部工作的各项具体程序,能够通过测试来检查系统内部的运行是不是按照系统说明书的规定进行正常运作的,因此,白盒测试又被叫做结构测试和逻辑驱动测试。根据测试程序的结构在每个道路试验,当系统运行时不是能按预定要求正确运行,无论其功能如,白盒测试试验,道路试验是一个逻辑驱动器,这种测试主要用来软件测验。

5.3测试结果分析

测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。测试用例的基本格式包括用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。

软件测试的目标是:测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。

本系统主要采用了黑盒测试方法,通过输入合理用例及不合理用例,对系统功能能否达到目标要求进行了测试。

测试过程概述如下:

  1. 功能测试

用黑盒测试的方法测试了如下功能模块:

会员登陆(注册)模块、彩票搜索模块、彩票分类模块、销售排行模块、最新彩票模块、特价促销模块、彩票预定车模块、订单等模块均可以正常运行。

  1. 性能测试(性能、可靠性)

作为初始版本,并发用户数不多,所以性能上的要求不很高。运行结果符合期望要求。

  1. 评价

经过功能测试和基本的性能测试,此版本适合作为初始版本。如果要正式投入使用,架构可以不变,但还需要改写后台程序,以提高程序的运行效率,增加并发用户数。

            第7章 结  论

本系统由于时间和技术条件的限制,还存在一些不足之处,有些功能还需要改进,

还应该做进一步的系统调查需求分析工作,更深入的完善系统。总之,一个紧跟时代步伐的真正使用的软件必需有一个不断完善改进的过程。

通过本次毕业设计我锻炼了自己的自学能力和研究能力,也从中学到不少在课堂上学不到的东西。通过这次的实践我也深刻的体会到软件开发的艰辛及问题解决后的喜悦心情,培养我的独立思考问题的能力,同时也增强了我的理论联系实际的能力,这为自己以后的工作奠定了良好的基础。本系统设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及用户能够方便操作。

系统的主要特点和优点归纳如下:本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。该专题网站内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因客户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都 可以很好的进行操作。

本系统还存在很多缺点和不完善的地方,例如有些细节上做的还不够完善,有些功能模块还需要加强。在今后的日子里,能够对这些不足进行改善。在开发系统的过程中,本人运用到平时学习中所了解的一些技术,通过实现这些技术,大大提高了整个系统的性能。在论文中这些技术都做了比较详细的介绍。

参考文献

[1] 王家华 软件工程[M],沈阳:东北大学出版社 2008,46-199。

[2] 李金山 会员信息管理系统的设计[J].太原:科技情报开发与经济 2009,(14):132.

[3] 黄理.李积善等 用JSP轻松开发Web网站(第一版)[M].北京:北京希望电子出版社  2011.100~152.

[4] 王小铭  管理信息系统及其开发技术[M]修订版.北京:电子工业出版社 2013

[5] Jame Gosling Bill Joy,Guy L. Steele Jr,Gilad Bracha.Java语言规范[M],北京:机械工业出版社  2006,165-173.

[6] 赵海廷  Java语言程序设计. 武汉大学出版社,2005

[7] 朱福喜  傅建明. 唐晓军.Java项目设计与开发范例电子工业出版社  2009

[8] 张新曼  精通JSP-Web开发技术与典型应用[M] ,北京:人民邮电出版社 2007,516-564。

[9] 高英. 张晓东    Mysql数据库应用系统与实例,人民邮电出版社 2006

[10]彭勇  计算机网络基础与Internet应用[M],北京.电子工业出版社  2007

[11]罗超理  李万红.管理信息系统原理与应用[M],北京.清华大学出版社  2012

[12]张少敏  王保义.基于Web的管理信息系统方案及安全性[J],华北电力大学报 2011

[13]萨师宣、王珊   数据库系统概论(第三版)  高等教育出版社  2000.2

[14]JeffreyD.Ullman,JenniferWidom   A First Course in Database Systems    清华大学出版社    1998

[15]王珊  数据库系统简明教程    高等教育出版社   2004.9

[16]杨锋英   数据库系统原理基础问题解析   黄淮学院信息工程学院  2011.05

[17]谷庆华; 李成贵   基于Java语言实现数据库的访问   北京航空航天大学仪器科学与光电工程学院    2005.5

[18]张少应; 程传旭   基于Java语言的数据库访问技术研究   西安航空学院计算机工程系

2015

[19] 陈楠; 王勇; 一种基于Java语言的数据库访问的实现   电子科技大学   2003

[20]By Joshua Bloch   Effective Java Programming Language Guide        Addison-Wesley Professional    2000

[21]Y.Daniel Liang  Introduction to Java Programming  机械工业出版社 2015

[22]董忠;尤良方;施文芙; 用Java技术访问数据库     天水师范学院物理系!甘肃天水    2001

[23]张艳冀互联网彩票销售问题研究    河南省福利彩票发行中心  2015.03

[24]郭晴彩票销售系统   吉林省四平市体育彩票管理中心  2009

[25]冯百鸣互联网彩票  河南财经政法大学彩票研究所    2014

外文翻译

1 java的简介

Java language is simple. The Java language grammar and language C and C + + language is very close, Java rejected in C + + rarely used, difficult to understand the characteristics, such as operators overloaded, inherit, automatic of forced type conversion. Java language does not use pointer, and provides automatic waste collection. Java language is an object oriented. Java language class, interface and inheritance provides such as the original language, for simplicity, only support the single inheritance between classes, but the interface between multiple inheritance support, and support the class and interface between the realization mechanism (key word for implements). Java language comprehensive support dynamic binding, and only to the c + + language virtual function use dynamic binding. In short, Java language is a pure object-oriented programming language. Java language is distributed. Java language support Internet application development, Java RMI (remote method activation) mechanism is also an important means of developing distributed applications. Java language is strong. Java strong type mechanism, and exception handling, waste materials such as automatically collect Java program robustness is the important guarantee. Java language is safe. Java are usually used in network environment, therefore, to provide a safe Java mechanism in case of malicious code attack.

Java language is portable. The portability from system structure neutrality. Java system itself also has the very strong portability. Java language is multithreading. In the Java language, Thread is a special kind of object, it must be the Thread class or its (sun) classes to create. Java language support multiple threads of at the same time executive, and provide multithreaded synchronization between (the key word for synchronized).

Java language of good properties make Java application has inestimable robustness and reliability, it reduces the application system maintenance costs. Java objects to the full support of technology and Java platform embedded API can shorten the application system development time and reduce the cost. The Java compiler a all the characteristics of the operation that it can provide a everywhere available in more open structure and the communication between platform of low cost method.

Java语言是简单的。Java语言的语法与C语言和C++语言很接近, Java丢弃了C++ 中很少使用、难理解的的特性,如操作符重载、多继承、自动的强制类型转换。Java语言不使用指针,并提供了自动的废料收集。Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的。 Java语言支持Internet应用的开发, Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。 Java语言是可移植的。这种可移植性来源于体系结构中立性。Java系统本身也具有很强的可移植性。Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。

2 jsp应用框架

 JSP application frameworks

What are application frameworks:

A framework is a reusable, semi-complete application that can be specialized to

produce custom applications [Johnson]. Like people, software applications are more alike than they are different. They run on the same computers, expect input from the same devices, output to the same displays, and save data to the same hard disks. Developers working on conventional desktop applications are accustomed to toolkits and development environments that leverage the sameness between applications. Application frameworks build on this common ground to provide developers with a reusable structure that can serve as the foundation for their own products.

A framework provides developers with a set of backbone components that have the following characteristics:

1.They are known to work well in other applications.

2. They are ready to use with the next project.

3. They can also be used by other teams in the organization.

Frameworks are the classic build-versus-buy proposition. If you build it, you will understand it when you are done—but how long will it be before you can roll your own? If you buy it, you will have to climb the learning curve—and how long is that going to take? There is no right answer here, but most observers would agree that frameworks such as Struts provide a significant return on investment compared to starting from scratch, especially for larger projects.

JSP 应用框架

什么是应用框架:

框架(framework)是可重用的,半成品的应用程序,可以用来产生专门的定制程序。象人一样,软件应用的相似性比不同点要多。它们运行在相似的机器上,期望从相同的设备输入信息,输出到相同的显示设备,并且将数据存储到相同的硬盘设备。开发传统桌面应用的开发人员更习惯于那些可以涵盖应用开发同一性的工具包和开发环境。构架在这些公共基础上的应用框架可以为开发人员提供可以为他们的产品提供可重用服务的基础架构。

框架向开发人员提供一系列具有以下特征的骨架组件:

1.已经知道它们在其它程序上工作得很好;

2.它们随时可以在下一个项目中使用;

3.它们可以被组织的其它团队使用;

对于框架是典型的构建还是购买命题。如果你自己构建它,在你完成时你就会理解它,但是在你被融入之前又将花费多长时间呢?如果要购买,你必须得克服学习曲线,同样,在你可以用它进行工作之前又得花多长时间?这里没有所谓正确答案,但许多观察者都会同意,象Struts这样的框架能提供比从头开始开发更显著的投资回报,特别是对于大型项目来说。

3 servlet与jsp

An Overview of Servlet and JSP Technology

1.1 A Servlet’s Job

Servlets are Java programs that run on Web or application servers, acting as a middle layer between request coming from Web browsers or other HTTP clients and databases or applications on the HTTP server. Their job is to perform the following tasks, as illustrated in Figure 1-1.

1.Read the explicit data sent by the client.

The end user normally enters this data in an HTML from on a Web page. However, the data could also come from an applet or a custom HTTP client program.

2.Read the implicit HTTP request data sent by the browser.

Figure1-1 shows a single arrow going from the client to the Web server(the layer where servlets and JSP execute), but there are really two varieties of data: the explicit data that the end user enters in a form and the behind-the-scenes HTTP information. Both varieties are critical. The HTTP information includes cookies, information about media types and compression schemes the browser understands, and so on.

3.Generate the results.

This process may require talking to a database, executing an RMI or EJB call, invoking a Web service, or computing the response directly. Your real data may be in a relational database. Fine. But your database probably doesn’t speak HTTP or return results in HTML, so the Web browser can’t talk directly to the database. Even if it could, for security reasons, you probably would not want it to. The same argument applies to most other applications. You need the Web middle layer to extract result inside a document.

4.Send the explicit data (i.e., the document) to the client.

This document can be sent in a variety of formats, including text (HTML  or XML), binary (GIF images), or even a compressed format like gzip that is layered on top of some other underlying format. But, HTML is by far the most common, so an important servlet/JSP task is to wrap the results inside of HTML.

5.Send the implicit HTTP response data.

Figure1-1 shows a single arrow going from the Web middle layer (the servlet or JSP page) to the client. But, there are really two varieties of data sent: the document itself and the behind-the-scenes HTTP information. Again, both varieties are critical to effective development.Sending HTTP response data involves telling the browser or other client what type of document is being returned (e.g.,HTML), setting cookies and caching parameters, and other such tasks.

Servlet和JSP技术简述

1.1 Servlet的功能

Servlets是运行在Web或应用服务器上的Java程序,它是一个中间层,负责连接来自Web浏览器或其他的HTTP客户端和HTTP服务器上的数据库或应用程序。Servlet的工作是执行下面的任务,如图1-1所示。

1.读取客户端发送的显示数据。

客户端用户一般在页面的HTML表单中输入这些数据。然而,数据还有可能来自applet或定制的HTTP客户程序。

2.读取由浏览器发送的隐式请求数据。

图1-1中显示了一条从客户端到Web服务器的单箭头,但实际上从客户端传送到Web服务器的数据有两种,它们分别为用户在表单中输入的显示数据,以及后台的HTTP信息。两种数据都很重要。HTTP信息包括cookie、浏览器所能识别的媒体类型和压缩模式等。

3.生成结果。

这个过程可能需要访问数据库、执行RMI或EJB调用、调用Web 服务,或者直接计算得出对应的响应。实际的数据可能存储在关系型数据库中。但是该数据可能不理解HTTP,或者不能返回HTML形式的结果,所以Web浏览器不能直接与数据库进行会话。即使它能够做到这一点,为了安全上的考虑,我们也不希望让它这么做。对应大多数其他应用程序,也存在类似的问题。因此,我们需要Web中间层从HTTP流中提取输入数据,与应用程序会话,并将结果嵌入到文档中。

4.向客户发送显示数据(即文档)

这个文档可以用各种格式发送,包括文本(HTML或XML),二进制(GIF图像),甚至是可以建立在其他底层格式之上的压缩格式,如gzip。但是,到目前为止,HTML式最常用的格式,故而Servlet/JSP的重要任务之一就是将结果包装到HTML中。

5.发送隐式的HTTP相应数据。

图1-1中显示了一条从Web中间层到客户端的单箭头。但是,实际发送的数据有两种:文档本身,以及后台的HTTP信息。同样,两种数据对开发来说都是至关重要的。HTTP响应数据的发送过程涉及告知浏览器或其他客户程序所返回文档的类型(如HTML),设置cookie和缓存参数,以及其他类似的任务。

4 socket

The agreement is communication both sides of the agreement, for computer communication speaking, the agreement have high and low layer of points, some agreement on the network directly describe physical communication (such as Ethernet protocol), some agreement is more complex than the abstract describe function (such as TCP/IP protocol race), that is the agreement is stratified, each layer of mutual cooperation agreement, constitute a whole.

TCP/IP protocol is a used in the Internet very important agreement clan, it includes the IP protocol, TCP, UDP protocol, ICMP protocol. Corresponding to the ISO (International Standard Organization) of organizing the OSI (Open System Interconnection) network model, the IP protocol is used in the network layer is responsible for the information from one network equipment transmitted to another network equipment; And the TCP protocol is used in the transport layer, the role of this layer is in session layer and network layer provides information between (data) transmission service, and check to ensure successful information to target equipment. And the TCP protocol is paralleled the UDP protocol, this also is a used in the transport layer protocol, and the TCP protocol of the agreement is different is no connection of the agreement.

The transport layer and the network layer on the function of the biggest difference is that in the former the ability to provide process communication, the latter does not provide process communication ability. In the process of communication between sense, network communication final address is not host address, also include a description of the process of communication an identifier. Therefore, TCP/UDP put forward the concept of the ports deal, used to identify the process of communication, port is also the process access network transmission service entry points.

The global Internet to identifies a local process need a three yuan group: agreement, local address, local port. And a complete Internet communication process is an example by communication at the ends of a process the composition, therefore need a five yuan group to identify: agreement, local address, local port, remote address, far away to port. Here's the local address, remote address is used to identify a computer, usually refers to the IP address of the computer.

Socket is a network programming interface, which can be applied to different network protocol. Windows environment use Socket called Windows Socket, referred to as Winsock.

协议是通讯双方的约定,对于计算机通讯来讲,协议有高低层之分,有些协议直接描述物理网络上的通讯(如以太网协议),有些协议描述较复杂抽象的功能(如TCP/IP协议族),也就是说协议是分层次的,各层协议互相协作,构成了一个整体。

TCP/IP协议是一个应用于Internet的非常重要的协议族,它包括IP协议、TC协议、UDP协议、ICMP协议等。对应于ISO(International Standard Organization)组织制定的OSI(Open System Interconnection)网络模型,IP协议是应用于网络层的负责将信息从一个网络设备传送到另外一个网络设备;而TCP协议是应用于传输层的,这层的作用是在会话层和网络层之间提供信息(数据)传输服务,并校验以确保信息成功到达目标设备。与TCP协议相对应的是UDP协议,这也是一个应用于传输层的协议,与TCP协议不同的是该协议是无连接的协议。

传输层和网络层在功能上的最大区别是:前者提供进程通讯能力,后者不提供进程通讯能力。在进程间通讯的意义上,网络通讯的最终地址就不仅仅是主机地址,还包括描述通讯进程的一种标识符。为此,TCP/UDP 提出了协议端口的概念,用于标识通讯的进程,端口也就是进程访问网络传输服务的入口点。

Internet中全局地标识一个本地进程需要一个三元组:协议,本地地址,本地端口号。而一个完整的Internet进程通讯实例是由通讯两端的各一个进程组成,因此需要一个五元组来标识:协议,本地地址,本地端口号,远地地址,远地端口号。这里的本地地址、远地地址是用来标识计算机的,一般是指计算机的IP 地址。

Socket是一个网络编程接口,可以适用于不同的网络协议。Windows 环境下使用的Socket称为Windows Socket,简称为Winsock。

5 spring应用框架

Spring 框架

Spring明显区别于其他轻量级application framework, 它将专注于web的支持,与struts 和 webwork有着明显的区别。

在与struts、webwork的对比上,Spring是一个服务于所有层面的application framework:提供了bean的配置基础,AOP的支持,JDBC的提取框架,抽象事务支持等等。它有一个非常显著的特点:在某个层面上如果你不需要Spring的支持,你就可以不使用Spring的class,只使用它的某一部分的功能。 从它的设计理念,你可以看到Spring 帮助你实现了真正的逻辑层和web层的分离。例如:一个校验应用将不用依靠controllers就可以实现。这样的目标更好的重用和易测,过分依靠不必要的容器和框架将不能实现这一点。

当然,Spring 有自己的web支持和通常框架模式细致完整。然而,Spring替换struts、webwork或者其他的web方案非常容易。对于Spring的web支持或者不同的地方,Spring 允许你在web容器里面建立一个中间层,在测试环境或者标准独立的应用里面来设置重用你的商务逻辑.还有在J2EE环境里面,你的商务逻辑不必依靠容器提供的服务,像JTA ,EJB的支持。良好的构架的web应用可以运行在任何容器上,如,Tomcat 或者 Resin。值得注意的是,Spring 不是和已经存在的解决方案进行竞争. 我们鼓励结合标准的技术,如,Servlet,JSP, JTA,JNDI,JDBCand JDO和非常匹配的工具,如,Hibernate, Velocity, Log4J, and Caucho's Hessian/Burlap。这个框架的的设计思想是在你的应用需要改良的时候,你将会做一些技术的选择,例如,如果你需要分布式事务处理,你可能需要用Spring的Jta TransactionManager 来实现JTA服务。或者用DataSource TransactionManager or HibernateTransactionManager 来实现的单个数据库交换。

Spring 框架通过配置操作mappings,展示resolution,本地化和模版集成围绕着分派请求操作的servlet-DispatcherServlet设计的。缺省的操作是一个非常简单的控制接口, 他只提供了ModelAndView handleRequest (request, response)方法。这将用于一个应用的控制,但是,如果你想包含多个层次的控制,AbstractController,AbstractCommandController, MultiActionController,SimpleFormController,AbstractWizardFormController将帮助你完成.应用控制将代表那些子系统。注意,你可以选择一个适当的基类:如果你没有web form,你就不必用FormController,这就是和Struts最大的不同。你可以通过命令或者form对象来操作任何对象,这不需要接口工具或者一个基础类的驱动。Spring的数据绑定非常灵活。举例来说,它描述了具有在应用范围内的校验错误的输入机制,但不是系统错误,所以在你的form对象里面你不必复制你的业务对象的spring属性,只操作出错的子任务,或者适当地转换spring。换句话说,它通常可以很好的直接绑定你的业务对象。 这也是和struts围绕请求基础类Action 和 ActionForm (每个action操作类型) 建立主要的不同之一。对比WebWork,Sping更多的区别在于对象角色:Spring支持控制器的感念,一个操作命令或者form对象和得到数据传递给视图的模式,这个模式通常包含命令和form对象,但有时也包含任意的参考数据。换句话说,一个WebWork Action联合所有这些角色到一个单独的对象。WebWork允许你用已经存在的业务对象作为你form的一部分,但是只生成各自Action 的bean属性。最后,操作请求的Action 实例在一个视图里面获得付值和form population。然而,参考数据也需要作为Action 的属性被模拟。

关于视图:Spring的视图方案非常的灵活。一个控制器执行可以通过response 返回ModelAndView对象null就可以直接写到一个视图里,在一般情况下,一个ModelAndView实例结合了一个view和一个model Map,包含了bean name 和通讯对象(像命令或者form,参考数据等等)。View名称是非常高端的配置,不是通过bean name,一个properties 文件就是通过你自己的ViewResolver.这个抽象的model Map 允许你在视图层面完成提取,没有任何的争辩JSP/Velocity或者其他,每一种都可以直接完整使用.这个model Map 还可以简单得得到适当的格式化数据的转换,像JSP 请求属性或者Velocity 模版模式.

如果你不想用Spring的 web MVC,但是想借用Spring嫁接其他的解决方案,你可以非常简单地通过Spring继承你自己的web 框架,你可以非常简单地通过ContextLoaderListener启动一个Spring root application context,并且,通过Struts 或者WebWork 的action 利用ServletContext 属性(或者Spring 的helper方法)存取它。值得注意的是, 这里没有任何的"plugins"被调用,因此没有专门的集成:来自web层的视图, 你可以简单的将Spring作为一个管理application context 实例入口点的类库。所有你注册bean和Spring服务都可以在不需要Spring的web MVC的情况下都可以轻松掌握。Spring不是和Struts 、WebWork这些应用进行竞争,它将作为一个纯web框架应用于很多领域,因为它不需要配置数据存储和事务操作,所以,你可以利用Spring提供的中间层和数据存储层来丰富你的应用,甚至用JDBC或者Hibernate进行事务抽象。

如果仅仅聚焦于web支持,Spring的一些显著特点是清楚分离:controller,validator,command object,form object,model object,和 DispatcherServlet,handler mapping vs view resolver等等强大而且直接的框架和作为JavaBeans的应用配置,包括简单的参照和应用内容,例如,从web控制器到业务对象和数据校验。适应性,无论什么样的控制器你都需要得到代替Action/ActionForm所做的每件事情的方案(简单,命令,form,范例,多重action,或者定制一个) 重用业务逻辑代码,不需要复制,你可以用已经有的业务逻辑对象作为命令或则form对象代替反射特定的ActionForm子类。可订制的绑定和数据校验作为应用级的输入机制的错误校验,固定日期和数字绑定,例如,通过手动检查和转换业务对象来替换单个的string。可订制的操作,可订制的视图方案:通过name/value Map灵活的模型传送,用一个简单的方法从简单到复杂操作映射和视图方案策略。

以在J2EE应用中非常普遍的用户登录过程为例来说明上述体系结构是如何具体运用的。登录的流程非常清晰:用户从登录页面login.jsp输入登录信息,系统对登录信息进行验证,如果正确则成功登录,否则提示相应错误信息。在开发过程中,使用Eclipse做为开发环境,同时加载了对Struts、Spring及Hibernate提供更好的控制和支持的第三方插件MyEclipse,Web服务器使用Tomcat,数据库选用了Mysql。首先对Hibernate进行配置,只需要对系统自动生成的hibernate.cfg.xml进行修改,配置好数据库连接的各种参数以及定义数据映射文件。由于Hibernate所带的连接池主要用于测试,性能不是很好,可以通过JNDI将其修改为使用Tomcat的连接池。

基于jsp的电脑彩票销售管理系统设计与实现(项目报告+答辩PPT+源代码+部署视频)相关推荐

  1. 基于java的超级玛丽游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)

    项目报告 基于java的超级玛丽游戏的设计与实现 近年来,Java作为一种新的编程语言,以其简单性.可移植性和平台无关性等优点,得到了广泛地应用.J2SE称为Java标准版或Java标准平台.J2SE ...

  2. 基于jsp的农产品销售管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    项目报告 基于WEB的农产品销售管理系统 本文论述了基于JAVA.Web的农产品销售管理系统开发的目的及意义,目的是为了农产品资源的合理利用和物资的充分交流,有些地方富余而卖不出去,有些地方却吃不上. ...

  3. 基于java的雷电游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)

    项目报告 基于Java的雷电游戏 电脑游戏,是指在计算机上能够运转的游戏软件.这种软件具有较强的娱乐性.电脑游戏的创新和发展与硬件.软件的发展紧密相关.它能够给玩家提供一个虚拟的环境,使游戏带给了人们 ...

  4. 基于java的推箱子游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)

    项目报告 基于Java的推箱子游戏设计与实现 社会在进步,人们生活质量也在日益提高.高强度的压力也接踵而来.社会中急需出现新的有效方式来缓解人们的压力.此次设计符合了社会需求,Java推箱子游戏可以让 ...

  5. 基于jsp的记账管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+部署视频)

    项目报告 基于Jsp的记账管理系统 近年来由于生活节奏的加快,好像每个人都被很多难以启齿的问题困惑,然而关于随意消费是大多数人头疼的问题,没有任何计划和筹备的情况下随意消费,导致现实生活中我们所称为的 ...

  6. 基于jsp的项目管理平台系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    项目报告 基于Java EE平台项目管理系统的设计与实现 随着社会信息化的发展,很多的社会管理问题也一并出现了根本性变化,项目公司的报表及文件管理也发生了变化,以前的管理是一个分布式的信息,然后围绕中 ...

  7. 基于jsp的网上招标系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    说明书报告 从本世纪初,互联网开始加速发展,各种创新型应用和互联网新概念不断出现,例如搜索引擎.电子商务.博客.维基百科.RSS.3G.web2.0.长尾理论等.这些应用和概念与知识管理都有着或多或少 ...

  8. 基于jsp的影视创作论坛系统毕业设计(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    摘要: 本文基于JSP技术,设计并实现了一个基于JSP的影视创作论坛系统.该系统旨在提供一个在线平台,供影视创作者交流.展示作品和分享经验.系统具备用户注册.登录.发表文章.评论.上传作品等功能,以满 ...

  9. 基于java的出租车计价器系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    项目报告 出租车计价器设计与实现 在我国,出租车行业是八十年代初兴起的一项新兴行业,随着出租车的产生,计价器也就应运而生.但当时在全国没有一家企业能够生产,因而那个时期的计价器是由台湾引进.台湾是计价 ...

最新文章

  1. 并发编程之多进程进程进程
  2. 白光驱动器替代指南(转)
  3. boost::allocator_value_type的实例
  4. mysql导入工具 行提交_使用命令行工具mysqlimport导入数据
  5. c#中connect函数_Flink算子使用方法及实例演示:union和connect
  6. python中的tail()_让VASP实现固定应力张量计算的python脚本
  7. 2020-04-27 三种内存屏障 acquire barrier / release barrier / full barrier
  8. 内外网隔离 双网隔离DoraOS云终端双桌面云办公应用
  9. UITextView使用与YYlabel使用比较
  10. DataGrid Bind Checkbox....
  11. 3511. 倒水问题
  12. Web基础(从零开始)——HTML文本域(textarea标签)
  13. SSM实训: 2、博客中间内容(首页2)
  14. 一本通 1273:货币系统
  15. ddd java 例子_【Java】DDD思维导图
  16. HackTheBox-baby auth
  17. flink实时流与scala程序开发实用经验 - 十年磨两贱人
  18. Matlab的parfor的使用条件
  19. 报道|香港科大商学院【在商言商·思享会】(第一场)“企业如何抓住新一代科技红利”...
  20. 菜鸟小白初次下载Pr如何配置,以及普通文件、序列文件、psd文件的导入方法

热门文章

  1. 神朔 计算机联锁,神朔铁路2019年1月计算机联锁设备采购项目招标公告
  2. b/s系统扫描仪扫描上传
  3. 计算机专业毕设只交论文么,计算机专业毕业论文答辩的一般程序
  4. 让javascript显原型!
  5. LeetCode高频题:戈壁滩种树,一排n棵树,至少有k棵树存活时,最终形成的风景线有多少不同的情况
  6. MT6755 平台手机皮套驱动实现
  7. 专业的PDF转换Word软件使用教程
  8. [译]伟大的产品并不是诞生于偶然
  9. cadvisor实现容器监控
  10. [unreal] 寻路:随机漫游的实现