为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于JSP的网上音像店开发论文

2017-11-28 49页 doc 176KB 21阅读

用户头像

is_079973

暂无简介

举报
基于JSP的网上音像店开发论文基于JSP的网上音像店开发论文 摘要 随着文化需求的增长,音像制品市场也在不断扩大,网上音像制品店销售系统可以提供一整套销售业务流程,提供了各种商品、客户信息的管理控制功能,可以达到降低销售风险,便于销售管理,协助企业制订销售目标,扩大销售成果等。 Web开发技术是Internet应用的一个重要方面,而JSP又是Web开发的最先进的技术,是当前Web开发人员的首选技术。本文结合网络营销系统的实际需要,主要研究了系统实现的方式、方法,设计了系统功能模块、数据库、系统界面,建立了系统前台与后台的框架。通过对B/S模式、JDK...
基于JSP的网上音像店开发论文
基于JSP的网上音像店开发 摘要 随着文化需求的增长,音像制品市场也在不断扩大,网上音像制品店销售系统可以提供一整套销售业务流程,提供了各种商品、客户信息的管理控制功能,可以达到降低销售风险,便于销售管理,协助企业制订销售目标,扩大销售成果等。 Web开发技术是Internet应用的一个重要方面,而JSP又是Web开发的最先进的技术,是当前Web开发人员的首选技术。本文结合网络营销系统的实际需要,主要研究了系统实现的方式、方法,设计了系统功能模块、数据库、系统界面,建立了系统前台与后台的框架。通过对B/S模式、JDK开发环境及工具、Web发布服务、数据库以及SQL语言的深入讨论及实践,主要完成了基于JSP的网上音像制品商店系统的需求分析、模块设计、数据库设计、应用程序设计的工作,实现了系统前台的信息浏览、商品订购、销售统计,系统后台的各项管理功能,基本满足了网上音像制品店的系统需求。 关键词:电子商务,数据库,JSP,SQL Server I ABSTRACT Along with the increasing of cultural requirement, the market of audio and video productions is also expanding unceasingly, the system,which based on web for audio and video productions sale, may provide an entire set of sales service flow、each kind of commodity and functions of control .so the system may reduces the risk of sales、 convenient for the management of sales、help enterprise set the goals of the distribution and make the distributing much more efficiently. The technology for web developing is an important part of Internet application, JSP is the most advanced technology for web developing,and also is the first choice for web developers. This thesis mainly explained the method and style of the system implement, design of the system’s function model, database and interface, the creating of the framework of onstage and the backstage, and considered with the requirement of the on-line distributing system. Through the discussion and practice about B/S model, JDK IDE, web release service, database and SQL language, I have mainly completed demanding analysis of system、the design of modules、database、and the work of application programming, carrying out information browsing、order commodity、the statistics of sales of the onstage and the function of each management of the system backstage. Totally speaking, the system has already covered almost all of the requirements of the on-line shop of audio and video. Keywords: Electronic Commerce, Database, JSP, SQL Serve II 目录 摘要 .............................................................................................................................. I ABSTRACT ................................................................................................................ II 第一章 引言 ............................................................................................................. 1 1.1概述 ............................................................................................................. 1 1.2设计系统的现实环境 .................................................................................. 2 1.3本系统的优点 .............................................................................................. 2 3 第二章 系统概况 ......................................................................................................... 2.1系统应用背景 .............................................................................................. 3 2.2系统实现的功能模块 .................................................................................. 3 2.2.1系统客户主要功能模块 ...................................................................... 3 2.2.2 系统管理员主要功能模块 ................................................................. 3 2.3系统设计思想 .............................................................................................. 4 2.4系统的功能模块图 ...................................................................................... 4 2.4.1 客户功能模块图 ................................................................................ 4 2.4.2 管理员功能模块图............................................................................. 5 第三章 系统开发环境 ................................................................................................. 6 3.1系统软件的介绍 .......................................................................................... 6 3.1.1 Tomcat简介 ........................................................................................ 6 3.1.2 Eclipse简介 ........................................................................................ 6 3.2JDK与Tomcat的安装与配置 ....................................................................... 7 第四章 JSP技术及应用 .............................................................................................. 8 4.1JSP原理与特点 ............................................................................................ 8 4.2 JSP与 JavaBean ........................................................................................ 9 4.2.1 JavaBean原理及机制 ......................................................................... 9 4.2.2 常用JavaBean属性 ......................................................................... 10 4.3 Java Servlets ......................................................................................... 11 第五章 数据库设计 ................................................................................................... 12 5.1 订单信息列表allorers........................................................................... 12 III 5.2 CD信息列表cd Name ............................................................................... 12 5.3 商店管理员信息表 cdAdmin .................................................................... 13 5.4 商店CD类别列表cdClass ....................................................................... 13 订单详细表 orders ................................................................................. 13 5.5 5.6 用户信息表shop_user ............................................................................ 14 第六章 系统设计 ....................................................................................................... 15 6.1 用户登陆后主界面 ................................................................................... 15 6.1.1 用户登陆后主界面........................................................................... 15 6.1.2 用户登陆模块设计........................................................................... 15 6.1.3 在线购买功能模块设计 ................................................................... 16 6.1.4 我的购物车功能模块设计 ............................................................... 16 6.2 管理员登陆后主界面 ............................................................................... 16 6.2.1 管理员登陆后主界面 ....................................................................... 16 6.2.2 管理员登陆功能模块设计 ............................................................... 17 6.2.3 现有CD管理功能模块设计 ............................................................ 17 6.2.4 添加新CD功能模块设计 ............................................................... 17 6.2.5 订单管理功能模块设计 ................................................................... 18 6.3 数据库连接模块 ....................................................................................... 18 6.3.1 JavaBean............................................................................................ 18 6.3.2 注册数据库驱动程序 ....................................................................... 19 6.3.3 建立数据库连接 .............................................................................. 20 6.3.4 数据操作 .......................................................................................... 21 6.3.5 关闭 .................................................................................................. 21第七章 应用系统的维护设计 ................................................................................... 22 7.1 安全设计................................................................................................... 22 7.2 容错性设计 ............................................................................................... 22 第八章 毕业设计总结 ............................................................................................... 23 致谢 ............................................................................................................................ 24 参考文献 .................................................................................................................... 25 附录 部分源代码 ....................................................................................................... 26 IV 第一章 引言 1.1 概述 随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。由于受地理、文化等的限制,很多性价比很高的商品不能被广泛宣传。为了能让更多消费者了解并获得想要的影音商品,特提供这个电子音像店。 电子商务通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。对于电子商务的研究始于 企业组织(B2B)型和20世纪70年代末。电子商务活动相应分成两大类:企业组织- 企业组织-消费者(B2C)型。主要面向的是企业与企业,为企业提供进行采购、销售和结算等业务的平台。B2C则是我们最熟悉的,它直接面向终端的大众消费者。它通常也有两种形式,一种是类似一个大的超市,里面摆放着大量的商品,提供给消费者直接去选择购买,而另一种形式则类似一个大商城,商城中有许多柜台,用户可以直接到柜台选择和购买自己中意的东西,然后去结算,这种商城只提供柜台和相关的服务,并收取相应的柜台使用费用。本文要描述的开发实例是B2C中的第一类。 一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。信息流就是通过电子网络向客户揭示所售商品的相关信息,引导客户通过网络进行购物。资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网上银行支付、货到付款等多种形式。物流就是把客户所购买的商品通过物流配送系统送到客户手中。本文主要描述信息流的设计与实现。 本电子音像店是一个提供消费者网上浏览购物和一套完整的商品、客户等管理的后台支撑系统,将网络营销作为一个有力的销售渠道。 1 1.2 设计系统的现实环境 作为新一代的动态网页编程技术,JSP继承了JAVA技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关、信息丰富、动态的Web页面,包括HTML、DHTML、XHTML和XML。它能使Web开发人员轻松地搭建网络平台,建立起功能强大的基于Web的企业信息化系统。JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改底层的动态内容。就可以修改整体的页面布局,所以采用JSP技术开发基于Web的信息化系统日益普遍。 通过JSP设计的网站本身,对于用户界面的更新很快,应用大都是由服务器完成的,所以它们可以保持最新版本;客互端的接口不是很频繁,对各种应用更易于部署、维护和修改;随着文化需求的增长,音像制品市场也在不断扩大,网上音像制品店销售系统可以提供一整套销售业务流程,提供了各种商品信息,可以达到降低销售风险,便于销售管理,协助企业制订销售目标,扩大销售成果等。 1.3 本系统的优点 网站采用JSP+ Eclipse+ Tomcat作为开发方法,采用JSP、 SERVLET、JAVABEAN等技术完成网站的设计,其中SQL server2000作为数据库, 服务器采用tomcat,数据库体系结构模式采用B/S。 JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站多采用JSP。而PHP缺乏规模支持,缺乏多层结构支持,而且PHP提供的数据库接口支持不统一,使得它不适合运用在电子商务中。ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windows的COM/DCOM获得ActiveX规模支持,通过DCOM和TRANSCATION Server获得结构支持。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。JSP同PHP3类似,几乎可以运行于所有平台。由于Apache广泛应用在NT、 Unix和Linux上,因此JSP有更广泛的运行平台。 从网络的发展和技术的要求上,基于JSP的网站的设计更能符合以后发展的需要,这也是基于Java语言所带来的优势,所以JSP在电子商务领域会应用的越来越广泛。 2 第二章 系统概况 2.1 系统应用背景 现在电子商务网站正如雨后春笋般大量涌现,企业网络化已经成为一种时尚。实体店网络化。依靠网络去占有、扩张客户,已经成为很多店主的执著追求。本章通过一个在线CD销售系统的例子来讲述如何把一个实体企业网络化,搭建BTOC模式的网上交易平台。 2.2系统实现的功能模块 2.2.1系统客户主要功能模块 1.CD浏览: 2.查看购物车:修改购买数量,删除已经选购CD,提交购物车,清空购物车,继续购买等功能。 3.查看订单信息:查看订单详细信息。 4.CD查询:查看CD详细信息。 5.查看CD销售排行榜 2.2.2 系统管理员主要功能模块 1.现有CD管理:查看CD资料,修改CD资料,删除CD。 2.添加CD 3.订单管理:查看订单详细资料,删除订单,查看用户资料。 4.用户管理:查看用户详细资料,修改用户资料,删除用户。 5.销售统计 3 2.3 系统设计思想 本系统存在3种用户:管理员用户、未注册用户、已注册用户。为了简化思路,我们不给未注册用户提供浏览接口,而是需要注册以后才能浏览CD或购买CD等。而管理员用户由系统初始化的时候,指定管理员用户,而不是采用注册机制,另外就是需要提供给普通用户和管理员用户不同的接口。 登陆判断上首次基于数据库验证,然后把用户信息写进session,然后其他页面采用session验证。 2.4 系统的功能模块图 2.4.1 客户功能模块图 图2-1 客户功能模块图 4 2.4.2 管理员功能模块图 图2-2 管理员功能模块图 5 第三章 系统开发环境 3.1 系统软件的介绍 3.1.1 Tomcat简介 随着java的流行,其在web上的应用也越来越广,tomcat作为一个开源的SERVLET容器,应用前景越来越广。 tomcat是 Jakarta 项目中的一个重要的子项目,其被 Java Word 杂志的编辑选为2001年度最具创新的java产品(Most Innovative Java Product),同时它又是sun公司官方推荐的SERVLET和JSP容器,因此其越来越多的受到软件公司和开发人员的喜爱。SERVLET和JSP的最新规范都可以在tomcat的新版本中得到实现。 3.1.2 Eclipse简介 近期主要学习当前Java主流开发平台Eclipse,使用版本为最新发放的版本Eclipse3.2,参考书为《Eclipse 从入门到精通》(目前国内Eclipse书籍相当少,图书馆仅有的几本都被借走了,连预约都困难)。 Eclipse最初是IBM的一个软件产品,前期投入了4000万美金。2001年11月,IBM宣布将其捐给开放源码组织Eclipse.org。目前Eclipse的市场占有率已经超过了Borland公司的JBUILDER,成为Java开发平台中的主流。 Eclipse的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。 Eclipse中三个最吸引人的地方:一是它创新性的图形API,即SWT/JFAC。在此之前,我曾经用过Java 的AWT/SWING来开发Windows应用程序,AWT/SWING其界面客观地讲不够美观,而且界面响应速度比较慢;而SWT/JFACE则大大改善了Java在这方面的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插件。 6 3.2 JDK与Tomcat的安装与配置 执行j2sdk和tomcat的安装程序,然后设置按照路径进行安装即可。 安装j2sdk后,配置环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定j2sdk安装在c:\j2sdk1.4.2): JAVA_HOME=c:\j2sdk1.4.2 ClASSPATH =.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; path=%JAVA_HOME%\bin 安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定tomcat安装在c:\tomcat): CATALINA_HOME:c:\tomcat CATALINA_BASE:c:\tomcat TOMCAT_HOME: C:\Tomcat 修改环境变量中的classpath,把tomat安装目录下的common\lib下的SERVLET.jar追加到classpath中去,修改后的classpath如下: classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATA LINA_HOME%\common\lib\SERVLET.jar; 接着可以启动tomcat。 7 第四章 JSP技术及应用 4.1 JSP原理与特点 一些人可能已经对微软的Active Server Pages(ASP)很熟悉了;JSP在多数方面与ASP功能相同但是具有平台无关特性。他们都用来帮助Web内容的开发者们使用相对少的代码创建动态的网页。一个JSP页面包含掺杂着Java代码的HTML代码。当客户机请求这个页面时,服务器处理Java代码,把它生成的HTML页返回给浏览器。 Java Server Page,简称JSP,它不但拥有SERVLET的所有特性与优点,更增加了程序开发上的弹性,除了Java程序本身跨平台的优点,它是直接在HTML中内嵌JSP程序代码,使得程序开发更为容易、方便。JSP是完全架构在SERVLET程序上,不同的是,JSP程序是由JSP Engine先将之转换成相对应的SERVLET程序代码,接着将它编译成类文件载入执行,之后它就如同一般的SERVLET一样。 当客户端请求一个JSP网页时,JSP Engine会检查所请求的JSP网页是否已经处于被载入执行的状态,如果没有,它会先读取JSP程序文件,将它换成SERVLET程序代码编译载入,然后才执行请求的服务。也是就说,只有当客户端第一次请求JSP网页时,才需要被转换、编译和载入,做到了一次执行,处处执行。JSP的SERVLET Class是JSP Engine自动帮我们编译产生的,不像SERVLET需要手动编译,另外,在JSP程序中建立新的对象和Java Bean非常方便容易。许多应用程序服务器都支持JSP网页程序,如BEA的WENLOGIC、IBM的 WEBSPHERE,也已有不少的电子商务网站纷纷采用JSP来架站,JSP俨然成为假设商务网站的企业。 我们来看一个JSP页面的例子。它显示了服务器当前的日期和时间。这里不对代码的细节做解释,但是请注意Java代码放在在<%和%>两个符号之间, Java表达式放在<%=和%>之间。 Sample JSP Page 8 4.2 JSP与 JavaBean 4.2.1 JavaBean原理及机制 JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的优点是页面显示和业务逻辑的分离。这可以使团队协作的更好,开发出更高质量的站点,而且非常适合于团队开发: 1、Java开发人员致力于将业务逻辑在JavaBeans中实现。 2、Web开发人员致力于页面的实现,即JavaBeans如何在JSP中工作和设计 JSP页面。 3、主页人员和美工致力于站点的设计和页面表现风格。这种结构使得Web站点的维护变得容易,特别对于大型的电子商务网站更是如此。 JavaBean是一种可以重用的Java组件,它类似于COM,在JSP程序中常用来封装事物逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。 事件处理是JavaBeans体系结构的核心之一。通过事件处理机智,可以让一些组件作为事件源,发出可被描述环境或其他组件接受的事件。这样,不同的组件就可在构造工具内组合在一起,组件之间通过事件的传递进行通信,构成一个应用。从概念上讲,事件是一种在“源对象”和“监听对象”之间、某种状态发生变化的传递机智。事件有许多不同的用途,如:鼠标事件、窗口边界改变事件、键盘事件等。在Java和JavaBeans中则是订义了一个一般的、可扩充的事件机制,它能够: 1、对事件类型和传递模型的订义和扩充提供一个公共框架,并适合于广泛的应用。 2、与Java语言和环境有较高的集成度。 事件能描述环境捕获和被激发。能使其他构造工具采取某种技术在设计时直接控制事件,遗迹控制事件源和事件监听者之间的联系。事件本身不依赖于复杂的开发工具。 特别的,事件机制还应当: 1、能够发现制订的对象类可以生成的事件。 2、能够发现制订的对象类可以观察监听到的事件。 9 3、提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。 4、不需要其他的虚拟机和语言即可实现。 5、事件源与监听者之间可进行高效的事件传递。 、能完成JavaBean事件模型与相关的其他组件体系结构事件模型的中立映6 射。 4.2.2 常用JavaBean属性 如图表4-1,在JavaBean的scope有四种:page、request、session、application,它们的关系是application>session>request>page。 表4-1 常用JavaBean属性 Page 对象仅在本页面有效。 对象在同一个请求范围内有效,在页面中使用后,由于跳转的页面和当前页面同属于一个 request,在跳转过程中并未进行对象的重新创建。 对象在整个session的有效范围内一直存在,当 session session结束时,这个对象也会跟着消失。 对象在application的有效范围内都有效,只有当服 application 务器重新启动时才会消失。 在JSP页面中对JavaBean的内部变量进行存取时,除了直接调用编写好的SET、GET方法外,还可以使用,使用这两条指令往往能大大简化JSP页面中的代码。 set/getProperty语法: 10 4.3 Java Servlets SERVLET的功能基本与JSP相同,尽管采用的方法有些不同。然而典型情况下JSP由HTML代码嵌入少量的Java代码构成,SERVLET却完全用Java写成,用于声称HTML代码。 SERVLET 是扩展Web服务器功能的小Java程序。它是一个在收到请求时在服务器端动态执行的应用程序,就像是更老式的web服务器上的CGI Perl脚本。CGI脚本和SERVLET的一个重要区别是:CGI脚本需要单独开启一个进程——承受附加的延迟——而SERVLET则作为SERVLET引擎上单独的线程。SERVLET因此提供了更好的伸缩性。 在开发SERVLET时,你通常要继承javax.Servlet.http .HttpServlet类,并且重载它的一些方法。主要的方法包括 service():作为“特订命令(command-specific)方法”的调度器 doGet(): 处理来自客户机的HTTP GET请求 doPost():处理来自客户机的HTTP POST请求 11 第五章 数据库设计 5.1 订单信息列表allorers 表5-1 订单信息列表 Field Type Null Key Comment Id Int NULL PRI 主键 orderId Int NULL 0 订单号 cdNo Int NULL 0 CD编号 amout Int NULL YES 订货数量 5.2 CD信息列表cd Name 表5-2 cd 信息列表 Field Type Null Key Comment Id Int PRI 主键 cdName Varchar(10) CD名称 cdClass Int CD分类名称 Singer Varchar(25) YES 歌手名 Piblish Varchar(150) YES 发行唱片公司 cdNo Varchar(30) YES CD发行编号 musicList Text YES 歌曲列表 Price Float YES 原价 Amout Int YES 总数量 Leav_number Int YES 剩余数量 RegTime Datetime 登记时间 Picture Varchar(200) YES CD封面 12 5.3 商店管理员信息表 cdAdmin 表5-3 商店管理员信息表 Field Type Null Key Comment AdminUser Varchar(20) YES 用户名 AdminPass Varchar(50) YES 密码 5.4 商店CD类别列表cdClass 表5-4 商店cd类别列表 Field Type Null Key Comment Id Int PRI 分类编号 Classname Varchar(30) 分类名称 5.5 订单详细表 orders 表5-5 订单详细表 Field Type Null Key Comment Id Int PRI 主键 ordered Varchar(20) 订单编号 UserId Int 用户编号 SubmitTime Datetime 提交订单时间 ConsignmentTime Datetime YES 交货时间 TotalPrice Float YES 总金额 Content Text YES 备注 IPAddress Varchar(20) YES 用户IP IsPayoff Int YES 是否已付款 IsSales Int YES 是否发货 13 5.6 用户信息表shop_user 表5-6 用户信息表 Field Type Null Key Comment Id Int PRI 主键 UserName Varchar(20) 用户名 PassWord Varchar(50) 密码 Names Varchar(20) YES 真实姓名 Sex Char(2) YES 性别 Address Varchar(450) YES 地址 Phone Varchar(25) YES 联系电话 Post Varchar(8) YES 邮编 Email Varchar(50) YES Email地址 RegTime Datatime YES 注册时间 RegIpAddress Varchar(20) YES 注册时IP 14 第六章 系统设计 6.1 用户登陆后主界面 6.1.1 用户登陆后主界面 图6-1是客户正确登录后的第一个界面。从图中可以看出,客户登录后可以购买,可以查看CD详细资料,可以按关键字/分类查询CD,也可以方便快捷的转到本系统其他功能模块。 图6-1 用户登陆后主界面 6.1.2 用户登陆模块设计 如图6-2所示,为了检验用户是否是商店的合法用户,需要用户输入用户名和密码来核对用户的合法性。用户登陆模块就是要完成这一功能。该模块需要用到login. java这个bean,需要设计一个表单让用户输入用户名和密码。 图6-2 用户登陆界面 15 6.1.3 在线购买功能模块设计 在线模块中用户可以看见商店现有的CD、查找CD(可分类查找,也可以按关键字查找)、购买CD(把CD放进购物车)、查看CD的详细资料、转到其他模块,例如查看购物车、查看订单信息等。 6.1.4 我的购物车功能模块设计 如图6-3所示,该图显示了购物车的界面。在我的购物车这个功能模块,用户可以修改购物数量、删除已经购买数量、删除已选购的CD、提交购物车、清空钩物车、继续购物或查询CD等功能。 图6-3 购物车界面 6.2 管理员登陆后主界面 6.2.1 管理员登陆后主界面 图6-4为管理员登录后的主界面。从图中可以看出,管理员登录后,可以查看/修改CD资料,可以删除CD资料,也可以迅速转到其他功能模块。 16 图6-4 管理员登陆后主界面 6.2.2 管理员登陆功能模块设计 为了检验用户是否是管理员,可以需要用户输入用户名和密码来核对。管理员登陆模块就是要完成这一功能。该模块需要用到login. java这个bean,需要设计一个表单让用户输入用户名和密码。 6.2.3 现有CD管理功能模块设计 在该功能模块管理员可以查看CD的详细资料(单击CD名称)、修改CD、删除CD。 6.2.4 添加新CD功能模块设计 如图6-5所示,该图显示了添加新CD界面的内容。在这个功能模块,管理员可以向系统添加新的CD,这个模块的功能比较单一。实现的时候只需要写一段JavaScript,当用户提交表单时,对表单饿数据进行合法性验证。 17 表6-5 添加新CD界面 6.2.5 订单管理功能模块设计 在这个功能模块管理员可以查看下订单用户的详细资料(单击用户名)、查看订单的详细情况、删除订单。 6.3 数据库连接模块 6.3.1 JavaBean JavaBeans 是基于java的组件模型,由属性,方法和事件3个部分组成。在该模型中,JavaBeans可以被修改或与其他组件结合生成新组件或完成的程序。它是一种Java类,通过封装成为具有某种功能或者处理某个业务的对象。因此,也可以通过嵌在 JSP页面内的Java代码访问Bean及其方法。Bean的含义是可重复使用的Java组件。所谓组件就是一个由可以自行进行内部管理的一个或几个类所组成,外界了解其内部信息和运行方式的群体。使用它的对象只能通过接口来操作。 18 Bean实际上是根据JavaBeans技术标准所指定的Bean的命名和设计规范而编写的Java类。Bean并不需要继承特别的基类(base class)或事项特定的接口(Interface)。JavaBeans1.01-A规范定义了该组件的5种重要的机制: :内省(Introspection):组件可发表其支持的操作和属性,同时也支持在1 其他组件中发现重复利用的对象库,例如用户权限和电子自动回复等。 2:通信(Communication):生成和收集组件的消息事件 3:持续(Persistence):存放组件的状态。 4:属性(Properties):支持组件布局的控制,包括组件占用的空间和组件的相对位置。 5:定制(Customization):开发者可控制组件所需的改变机制。 JavaBeans可实现在设计平台被规定的操作,一般可表示为简单的图形界面,如按钮,光标和菜单等,也可以是不可见的接受并处理事件的操作,如数据库连接Bean。JSP吸引人之处很大程度上在于它使用了JavaBeans组件技术,但JSP中只支持不可见的JavaBeans。 创建一个简单的数据库连接Bean需要5个步骤:导入JDBC标准类库,注册数据库驱动程序,建立数据库连接,数据库操作和关闭。 导入JDBC标准类库. JDBC(Java DataBase Connectivity, Java数据库连接)是一种可用于执行SQL(Structured Query Language ,结构化查询语言)语句的应用程序接口,为了将服务器从客户端接受信息存入数据库,需要使用JDBC标准类库,所以需要在程序的开始加入以下import语句: Import java.sql.*;。 6.3.2 注册数据库驱动程序 在一个JDBC的驱动程序被用来建立数据库连接之前,必须向数据库驱动程序管理器注册该驱动程序。管理器的主要是保证所有的驱动程序对象可被JDBC的用户程序访问。当一个JDBC驱动程序被载入时,它将自动地在驱动程序管理器上注册。 可以调用Class.forName()方法载入一个JDBC驱动程序: String strDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; 19 Class.forName(“strDBDriver ”); Class.forName( )是Java的Class类的静态方法,它使Java虚拟机动态的寻找,载入并连接指定的类。 一个JDBC的驱动程序就是一个可以通过classpath找到一个Java类。这里载入的JDBC_ODBC桥驱动程序就在sun.jdbc.odbc包中。 6.3.3 建立数据库连接 载入一个正确的驱动程序后,就可以用它来建立与数据库的连接了。一个JDBC的数据库连接是用数据库URL来标记的。连接标记将告诉驱动程序管理器使用哪个驱动程序和连接哪个数据库。数据库URL的基本形式: jdbc::<数据源标记> URL的第一部分表示使用JDBC建立数据库连接。第2部分表示所使用的JDBC驱动程序名或网络协议名。第3部分是数据源标记,它映射所需连接的数据库。例如数据库的数据源标记是firm则同JDBC-ODBC桥连接该数据库所用的数据库URL为jdbc:odbc:firm. 可以通过DriverManager类的静态方法getConnection()来建立一个数据库连接: String strDBUrl="jdbc:odbc:firm"; conn=DriverManager.getConnection(strDBUrl,"sa",""); 一旦建立数据库连接,就可以打开该目标数据库,并通过该连接向目标数据库SQL指令。SQL指令通常会执行查询,插入,更新和删除等数据库操作。要执行SQL指令,必须通过Connection对象的createStatement()方法来创建一个STMT对象。STMT对象提供了许动方法来执行不同的数据库操作。可以 通过以下方式创建STMT对象: private Connection conn=null; private Statement stmt=null; ResultSet rs=null; stmt=conn.createStatement(); 20 6.3.4 数据操作 与数据库建立了连接后,接着就要进行数据操作了。数据操作包括查询,插入,更新和删除等操作。要对数据库精心操作可以使用STMT对象的executeQuery()方法。executeQuery()方法接受一个SQL指令字符串作为参数,返回结果信息是ResultSet对象。具体如下: rs=stmt.executeQuery(sql); 6.3.5 关闭 因为数据库连接是宝贵和有限的资源,因此必须在数据库操作完毕后即使释放数据库连接。Connection 对象提供了一个简单的关闭数据库连接的方法 close()。例如:conn.close(); stmt.close。 21 第七章 应用系统的维护设计 7.1 安全设计 本系统的安全主要介绍数据的安全,系统的安全性设计主要包括以下三个方面: 网络级安全设计:本系统主要应用于INTERNET上,但它的数据库是独立的,是系统中部分数据库的拷贝。 应用级:系统对其本身的用户也进行严格的权限划分,不同权限的用户只能访问不同的模块。 7.2 容错性设计 本系统主要从错误隔离和恢复、数据容错来保证系统的容错性。 错误隔离和恢复:当系统发生错误后,能够将错误隔离,防止蔓延到其他地方,并迅速将发生的错误恢复; 数据容错:系统中的数据由一台专用的数据服务器进行管理,数据采用镜像技术,以保证数据的完整性和容错性。 22 第八章 毕业设计总结 本次设计基于JSP的音像制品网站,网上音像制品店销售系统可以提供一整套销售业务流程,提供了各种商品信息,可以达到降低销售风险,便于销售管理,协助企业制定销售目标,扩大销售成果等 要求了解eclipse、tomcat、sql server等工具,并要了解JSP、servlet等相关知识。 但由于本人的经验,技术水平和时间的限制,本系统还存在多处不足的地方,比如本系统的进行信息录入处理时填写信息存在的不足,对有些代码的不理解等。 本次毕业设计的感想: 软件编写前最重要的就是需求的分析,软件开发出来是为客户所使用,因此客户会根据自己的需要提出一系列的要求,也就是软件的最终执行结果,这样也就明确了我们软件的最终实现目标,所以收集客户需求过程是软件开发过程中最重要的环节。通过这个的设计实践,使自己更能了解这个项目的技术要求,以后会做的更好。 23 致谢 在几个月的毕业设计过程中,我要感谢我的指导老师,同学和我的朋友们,是他们的无私的帮助才能使我完成了毕业设计的任务。 在毕业设计完成之际,我要感谢我的指导老师对我的莫大的帮助,在此我表示我深切的谢意, 老师不厌其烦的细心指导和多次给我提出了很多宝贵意见,也使我能较好的完成毕业设计,顺利写完。 24 参考文献 [1]魏茂军等.JSP案例开发[M]. 北京:中国水利水电出版社,2005.1:P6-P323. [2]冯燕奎,赵德奎.JSP实用案例教程[M].北京:清华大学出版社, 2004.5:P100-P145. [3]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000.2:P6-P312. [4]Joseph Schmuller,李虎赵,龙刚.UML基础、案例与应用[M].北京:人民邮电出版社,2004.8:P152-P205. [5]林上杰,林康司.JSP2.0技术手册[M].北京:电子工业出版社,2005.4.1:P5-P452. [6]施汝军.网站JSP后台解决[M].北京:人民邮电出版社,2000.12:P8-P300. [7]Cay S.Horstmann Gary Cornell,叶乃文.JAVA2核心技术卷1:基础知识[M].北京:机械工业出版社,2005.4:P10-P500. [8]魏海萍.标准Java 2类库使用手册[M].北京:电子工业出版社,2005.1:P205-P310. [9]Gamma,k Beck,k.Contributing to Eclipse[M].北京:中国电力出版社,2005.4:P50-P302. [10]赵红梅.JSP应用开发详解[M].北京:电子工业出版社,2004.1:P10-P300. 25 附录 部分源代码 1.cd.java package cdshop.cd; /** *

CD类

*/ public class cd { private long Id; //ID序列号 private String cdName; //CD名称 private Int cdClass; //CD类别 private String classname ; //CD类别名 private String Singer; //歌手 private String Publish; //发行公司 private String cdNo ; //CD编号 private String musiclist ; //歌曲列表 private float Price ; //售价 private Int Amount ; //总数量 private Int Leav_number ; //剩余数量 private String RegTime ; //登记时间 private String picture ; //CD封面文件的名称 /** * 图书的初始化 */ public cd() { Id = 0; cdName = ""; 26 cdClass = 0; classname = ""; Singer = ""; Publish = ""; cdNo = ""; musiclist = ""; Price = 0; Amount = 0; Leav_number = 0; RegTime = ""; } public void setId(long newId){ this.Id = newId; } public long getId(){ return Id; } public void setcdName(String newcdName) { this.cdName = newcdName; } public String getcdName() { return cdName; } public void setcdClass(Int newcdClass) { this.cdClass = newcdClass; } public Int getcdClass() { return cdClass; } public void setClassname(String cname) { this.classname = cname; 27 } public String getClassname() { return classname; } public void setSinger(String newSinger) { this.Singer = newSinger; } public String getSinger() { return Singer; } public void setcdNo(String newcdNo) { this.cdNo = newcdNo; } public String getcdNo() { return cdNo; } public void setPublish(String newPublish) { this.Publish = newPublish; } public String getPublish() { return Publish; } public void setmusiclist(String newmusiclist) { this.musiclist= newmusiclist; } public String getmusiclist() { return musiclist; } public void setPrice(float newPrice) { this.Price = newPrice; } 28 public float getPrice() { return Price; } public void setAmount(Int newAmount) { this.Amount = newAmount; } public long getAmount() { return Amount; } public void setLeav_number(Int newLeav_number) { this.Leav_number = newLeav_number; } public Int getLeav_number() { return Leav_number; } public void setRegTime(String newRegTime) { this.RegTime = newRegTime; } public String getRegTime() { return RegTime; } public void setPicture(String newPicture) { this.picture = newPicture; } public String getPicture() { return picture; } }; 2.cdclass.java 29 package cdshop.cd; /** *

CD分类类

*/ public class cdclass { private Int Id; //ID序列号 private String ClassName; //CD类别 public cdclass() { Id = 0; ClassName = ""; } public cdclass(Int newId, String newname) { Id = newId; ClassName = newname; } public Int getId() { return Id; } public void setId (Int newId) { this.Id = newId; } public String getClassName() { return ClassName; } public void setClassName(String newname) { this.ClassName = newname; } } con_time; 3.shopcar.java package cdshop.cd; 30 /** *

Title:

*/ public class shopcar { private long cdId; //CDID编号 private Int quanlity; //选购数量 public shopcar(){ cdId = 0; quanlity = 0; } public long getcdId() { return cdId; } public void setcdId(long newcdId) { cdId = newcdId; } public long getQuality() { return quanlity; } public void setQuanlity(Int newquanlity) { quanlity = newquanlity; } } 4.user.java package cdshop.cd; /** *

用户类

*/ 31 public class user { private long Id; //ID序列号 private String UserName; //购物用户名 private String PassWord; //用户密码 private String Names; //用户联系用姓名 private String Sex; //用户性别 private String Address; //用户联系地址 用户联系电话 private String Phone; // private String Post; //用户联系邮编 private String Email; //用户电子邮件 private String RegTime; //用户注册时间 private String RegIpAddress; //用户注册时IP地址 private Int UserPoInt; //用户积分 public user() { Id = 0; UserName = ""; PassWord = ""; Names = ""; Sex = ""; Address = ""; Phone = ""; Post = ""; Email = ""; RegTime = ""; RegIpAddress = ""; UserPoInt=0; } public long getId() { return Id; } public void setId(long newId) { 32 this.Id = newId; } public String getUserName() { return UserName; } public void setUserName(String newUserName) { this.UserName = newUserName; } public String getPassWord() { return PassWord; } public void setPassWord(String newPassWord) { this.PassWord = newPassWord; } public String getNames() { return Names; } public void setNames(String newNames) { this.Names = newNames; } public String getSex() { return Sex; } public void setSex(String newSex) { this.Sex = newSex; } public String getAddress() { return Address; } public void setAddress(String newAddress) { this.Address = newAddress; 33 } public String getPhone() { return Phone; } public void setPhone(String newPhone) { this.Phone = newPhone; } public String getPost(){ return Post; } public void setPost(String newPost) { this.Post = newPost; } public String getEmail() { return Email; } { public void setEmail(String newEmail) this.Email = newEmail; } public String getRegTime() { return RegTime; } public void setRegTime(String newRegTime) { this.RegTime = newRegTime; } getRegIpAddress() { public String return RegIpAddress; } public void setRegIpAddress(String newRegIpAddress) { this.RegIpAddress = newRegIpAddress; } 34 public Int getUserPoInt() { return UserPoInt; } public void setUserPoInt(Int userpoInt) { this.UserPoInt = userpoInt; } } 5.DataBase.java package cdshop.util; /** *

数据库连接专用包

*

Copyright: wxy Copyright (c) 2004

*

Company:CD Shop

* @by :wxy * @version 1.0 */ import java.sql.*; import javax.sql.*; import javax.naming.*; public class DataBase { public Connection conn; public Statement stmt; public ResultSet rs=null; public InitialContext ctx=null; DataSource ds = null; public String sqlStr=""; public DataBase() { 35 this.connect(); } public boolean connect(){ /* try{ Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost/cdStore?user=wxy&useUnicode=true&characterEnc oding=8859_1"; conn=DriverManager.getConnection(url); stmt = conn.createStatement (); }catch(Exception ee){ System.out.prIntln("connect db error:"+ee.getMessage()); return false; } */ /* try{ ctx = new InitialContext(); if (ctx == null) throw new Exception("没有匹配的上下文环境"); ds = (DataSource) ctx.lookup("java:comp/env/jdbc/SqlServermidp"); if (ds == null) throw new Exception("没有匹配的数据库"); conn = ds.getConnection(); stmt=conn.createStatement(); }catch(Exception ee){ System.out.prIntln("connect db error:"+ee.getMessage()); 36 return false; } */ try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1305;DatabaseName=cdstore"; String user="sa"; String password=""; conn= DriverManager.getConnection(url,user,password); stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); }catch(Exception ee){ System.out.prIntln("connect db error:"+ee.getMessage()); return false; } return true; } public void close() { try{ if(rs!=null)rs.close(); 37 if(stmt!=null)stmt.close(); if(conn!=null)conn.close(); }catch(Exception ee){ System.out.prIntln("connect db error:"+ee.getMessage()); return ; } } public static void main(String[] args) { try{ DataBase db = new DataBase(); db.connect(); }catch(Exception e){ e.prIntStackTrace(); } } } 6.login.JSP <%@ page contentType="text/html;charset=gb2312" %> <%@ page session="true" %> <% String mesg = ""; if( request.getParameter("username")!=null && !request.getParameter("username").equals("")){ 38 String username =request.getParameter("username"); String passwd = request.getParameter("passwd"); username = new String(username.getBytes("ISO8859-1")); String(passwd.getBytes("ISO8859-1")); passwd = new login.setUsername(username); login.setPasswd(passwd); out.prInt(username+passwd); if (login.excute()){ session.setAttribute("username",username); String userid = Long.toString(login.getUserid()); session.setAttribute("userid",userid); response.sendRedirect("cdlist.JSP"); %> <% }else { mesg = "登录出错~" ; } } %> <%@include file="inc/head.inc"%>
用户登录

<% if (!mesg.equals("")){ out.prIntln("

" + mesg + "

");}%>
40
用户名:
密码:
 

 

密码:1 测试用户:1

 

如果你还不是本站用户,请在此注册

<%@include file="inc/tail.inc"%> 41
/
本文档为【基于JSP的网上音像店开发论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索