网上书店系统设计-JSP实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1网上书店系统设计——JSP实现摘要:本课题主要阐述网上书店的设计与实现过程。具体通过JSP(JAVASERVERPAGES)技术来建立动态网页,结合MSSQLServer2000作为后台数据库实现。课题将以网上书店系统的模块为主线展开论述,详细介绍该系统的JSP页面与数据库通信方法以及动态网页的有关理论知识。关键词:JSP.SQL.一前言随着Internet和电子商务等应用的出现,动态网页技术也随着它们的出现诞生了。所谓“动态”,就应该具有“交互性”、“自动更新”、“因时因人而变”几个特点。除了早期的CGI外,目前主流的动态网页技术有JSP、ASP、PHP。这些技术都有各自的强势和弱势。JSP页面由HTML代码和嵌入其中的Java代码组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JSP具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet的所有特点。(一)选题背景21世纪是网络时代。网络技术的飞速发展,极大地影响了商业交易中传统的交易方式和流通方式。传统的大型书店,随着业务的不断扩大,书店的规模也不断扩大,迫切需要建立相应的网上书店。利用电子商务的优势同现有销售模式和流通渠道相结合,扩大消费市场,为书店的再发展带来新的商机,也为各地消费者提供便利,而且降低商业成本。目前国内的这种商务网站大多是用ASP来编写,但ASP有它的局限性。它是解释运行的,在多个客户访问的情况下会变得非常慢,而且网站服务器的负荷也很重,且只能运行在微软的操作系统和服务器上。另外不安全性也是需要注意的问题。而JSP的编译操作仅在第一次对页面请求时发生,速度远远大于ASP,而且可以跨操作系统,安全机制和性能均大于ASP。综合各方面的考虑,决定采用JSP+JavaBean/Servlet来开发本网上书店系统,充分利用Java技术的优势,系统稳定高效,而且管理人员通过后台管理能及时地发布新的书讯动态,加强了书店2与消费者之间的联系,极大地提高了书店的销售额,取得了显著的效果。(二)方案论证本系统是基于Internet的结构,采用如下图所示的三层架构模型。第一层采用浏览器,操作者通过界面向Web提交服务请求。第二层的Web服务器专门用来进行请求中的逻辑处理,根据请求与第三层的数据库服务器进行数据交易,然后返回浏览者所需要的结果,显示在第一层的浏览器界面上,从而达到远程操作的目的。采用这样的架构改进了传统Client/Server结构的缺点,除降低了Client端程序逻辑的复杂度,更减轻了后端数据库存取的负载,也平衡了整个网络流量。二网上书店的总体构建(一)网上书店功能分析网上书店的建设总体上分为后台的管理部分和前台用户两大部分。后台的主要功能是增加、删除图书信息,查询图书信息、设定用户的等级,对图书的类别和对出版商进行管理,查询统计图书销售信息。前台主要完成的功能是针对消费者的,包括书店图书分类、查询、排行、推荐、读者反馈和读者购书等。在现实的超市里每个消费者都有一个购物车,在这里也为用户建立一个购物车,只是这里的购物车是虚拟的,但是它却具有现实购物车的功能。3(二)数据库分析表“books”:保存图书的基本信息。表“customers”:保存会员的基本信息。4表“category”:保存图书类别信息。表“feedback”:保存图书评比票数信息。表“supplier”:保存图书出版商信息。5表“salebook”:保存图书销售信息。表“vouch”:保存读者推荐的图书信息。表“visit”:保存图书出版商信息。6表“distinction”:保存会员登记制度信息。(三)总体页面构架网上书店的主体框架由3个页面组成,如图(2-3)所示。框架的左侧是图书的类别列表页面,用于满足用户按类别查看图书的需求。框架的头部比较繁杂,用于书店的功能导航。框架的主体部分主要用于用户对图书信息的查看和操作。71AAAFSDFSAD图(2-3)三网上书店的系统实现(一)预备知识1.JSP编程语言介绍①JSP环境的搭配JSP开发环境需要安装:JSDK(包括JVM虚拟机)、Tomcat。数据库的设计需要安装SQLServer20008②JSP语法简介JSP主要由模版元素、指令元素、动作元素、脚本元素和JSP内建对象组成。模版元素是指JSP文件中静态HTML或者XML内容。指令是用于从JSP发送到容器上的一个信息,JSP中有四种指令元素,它们是:页面指令、include指令、taglib指令、表达式语言。与指令元素不同,动作元素在请求处理阶段起作用。JSP规范定义了一系列的标准动作,它们用jsp作为前缀,jsp:useBean、jsp:setProperty等都是动作元素。脚本元素包含任意的java脚本代码,主要有声明(Declaration)、表达式(Expression)、Scriptlet。JSP为简化页面的开发提供了一些内部对象主要包括:request、response、out、session、pageContext、application、config、page、exception。③JavaBean的技术简介什么是JavaBean?它是种Java类,通过封装属性和方法成为具有独立功能、可重复使用的并且可以与其他控件通讯的组件对象。JavaBean被组织成为数据包(Package)以便进行管理。JavaBean的结构必须满足一定的命名约定。这些约定Sun和其他几个大公司制定,称为JavaBeanAPI。只要遵守JavaBeanAPI的命名约定,就可以开发出可重用且独立的Java组件。在JSP中,使用bean标签集合,内容开发者不需要编写任何代码就能利用Java强大的功能为页面添加动态元素。9在JSP的开发中往往把大段代码放在脚本段(Scriplet)内,但是绝大多数的Java代码属于可重复使用的(如数据库的链接),因此可以把这些重复的代码做成JavaBean组件。JavaBean是一种组件技术,所以JavaBean将内部的动作封装起来,我们看不到它的运行机制,它直提供最小限度的属性接口供外壳控制应用。JavaBean为了提供组件的功能,必须满足以下三种条件。必须拥有没有参数的构造函数体现SerializableInterface拥有属性接口④Servlet技术Servlet指服务器端小程序,是一种很成熟的技术。从本质上讲Servlet是一个Java类,Java语言能够实现的功能,Servlet基本都能实现(除了图形界面外)。Servlet主要用于处理Http请求,通常所手的Servlet就是指HttpServlet,用于处理Http请求,能够处理的请求有:Get、Post、Head等。在开发Servlet时,可以直接继承javax.servlet.http.HttpServlet。Servlet需要在web.xml中进行描述,在描述时,主要是执行Servlet的名字、Servlet类、初始参数、安全配置、URL映射、启动的优先权等。Servlet不仅可以生存HTML脚本输出,也可以生产二进制输出。⑤JSP数据库技术JSP开发离不开数据库编程,几乎所有的JSP项目都使用到数据库。JDBC是一种用于执行SQL的JavaAPI。它为数据库开发人员提供了一系列标准的API函数,使其可以使用纯JavaAPI来开发数据库应用程序。JDBCAPI为Java开发者使用数据库提供了统一的编程接口,它由一组Java类和接口组成。JDBCAPI使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。2.SQL结构化查询SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。103.网上书店的公用组建在网上书店的公用组件中主要介绍JavaBean。图书是最基本的信息,应用的地方也有很多,有必要把它做成一个单独的类:packageBookShop;publicclassWare{privateStringid;privateStringname;privateintquantity;privatefloatprice;privatefloatcountprice;publicWare(){id=;price=0;quantity=0;countprice=0;}publicvoidsetId(Stringid){this.id=id;}publicStringgetId(){returnid;}publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnname;}publicvoidsetCountprice(floatcountprice){this.countprice=countprice;}publicfloatgetCountprice(){returncountprice;}publicvoidsetPrice(floatprice){this.price=price;}publicfloatgetPrice(){returnprice;}11publicvoidsetQuantity(intquantity){this.quantity=quantity;}publicintgetQuantity(){returnquantity;}}与数据库的连接也需要做成JavaBean,方便以后使用:packageBookShop;importjava.sql.*;importjavax.sql.*;importjavax.naming.*;publicclassMyDb{privateContextctx=null;privateDataSourceds=null;privatestaticConnectionconn=null;privateStatementstmt=null;privateResultSetrs=null;privatestaticintCOUNT=0;publicMyDb(){}/****************************************************函数功能:关闭数据库连接****************************************************/publicvoidclose(){try{if(rs!=null)rs.close();}catch(Exceptione){e.printStackTrace(System.err);}try{if(stmt!=null)stmt.close();}catch(Exceptione){e.printStackTrace(System.err);}try{if(conn!=null){conn.close();//System.err.println(count--+(--COUNT));12}}catch(Exceptione){e.printStackTrace(System.err);}}/****************************************************函数功能:查询数据库******

1 / 42
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功