1、基于JSP网上书店系统的设计与实现摘 要JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文描述了JAVA和JSP技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关的联系,并完成一个基于这种技术的网上书店系统。关键字JAVA, JavaBeans, Servlet, JSP, 网络编程, 电子商务, 网上书店前 言随着计算机、网络、通信技术的发展和日益融合,以及Internet的普及应用,包括电子商务EC、视频会议、网上书店等在的一些应用已开始引起社会的关注,并逐步走进人们的日常生活。JSP是Sun公司推出的一种开发技术,Sun公司
2、借助自己在Java上的不凡造诣,又把人们引进JSP时代,JSP即Java Server Page,它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。所以,在我的毕业设计中,我采用了JSP作为开发工具,构建了一个能实现简单的电子商务的小型动态商务网上书店销售系统。通过这次的毕业设计,我了解了目前流行的动态商务的构成和运作原理,掌握了用JSP构建动态的相关知识和技术原理,锻炼了自己的动手实践能力。在这次毕业设计过程中,我得到了指导老师杜雪平老师的悉心指导。在此,我对你表示衷心的感!第1章 概 述1-1 JAVA语言简介Java是一种简单易用、完全面向对象、具有平台无关
3、性且安全可靠的主要面向Internet的开发工具。自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。在早期,Java比较多的用在浏览器上,插入到网页中,成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的JSP技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。1-2 开发背景我国的网上书店虽然从数量上
4、取得了一定的进展,但从售量而言却不尽人意,目前,国尚无一家在网上零售领域形成绝对领先优势的网上书店。发展比较好的寥寥无几,比较成功的有当当书店.dangdang.。伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。我的毕业设计也就正是一个电子商务系统的开发-网上商品销售系统。第2章JAVA技术简介2-1 在Windows平台下配置JSP运行环境为了使系统能够正常运行JSP和相关程序,必须先配置好能够使用JSP的WEB服务器。各种能使用Servlet技术的WEB服务器中,运用得最多的是Tomc
5、at服务器,如果仅是为了用于测试程序,Tomcat的配置则显得太复杂了,本文推荐使用Resin服务器,Resin据称是最快的Servlet运行平台,不过限于单站点,对传统的一些网关支持不是很好,因此对于商业而言,不是最好的选择,不过如果仅是为了测试Servlet,这个Resin的安装可谓有点傻瓜化。Resin比较新的版本是3.x,但目前实际用的2.x版本的比较多,Resin可到官方站点下载:.caucho./download/本文使用的是版本,文件位置:如果你的电脑上已装好JDK,直接把下载的resin包解压到D:盘根目录解压后即为服务器的目录,把本文的源程序jspweb文件夹也放在D:盘根目
6、录,即是D:jspweb为根目录,打开D:resin-2.1.13conf resin.conf是一份XML形式的配置文件,找到doc这里改为D:jspweb,然后运行D:resin-2.1.13binhttpd.exe,在浏览器输入localhost:8080/j1.jsp,看到了我是JSP!的字样了吧,你的Servlet服务器就这样配置成功了,为了能编译Servlet类,还需要做的事情是:把D:resin-2.1.13lib加入到windows的CLASSPATH的环境变量中。2-2 JSP、ASP和PHP技术之比较JSP与ASP、PHP技术都是目前网上最流行的在服务器端运行的脚本技术,J
7、SP能用JavaBeans技术封装,达到商业逻辑的目的,ASP对应之的是COM组件,因此两者都能用于开发商业逻辑,PHP则更像于一个纯脚本,仅适合于普通的开发,而不能用作商业逻辑而被冠以Person Home Page的名称,这是最贴切不过的了。JSP与ASP相比,JSP具有跨平台、安全、强大的可伸缩性的特点,而果硬要挑一些毛病,JSP相对别的脚本更加难掌握,因为精通JSP必须精通Java语言,对于中小型项目,我们要考虑开发人员、开发速度、开发成本等问题,在这方面ASP和PHP会比JSP更容易胜出。值得一提的是,ASP的最新版本ASP.NET与原来的ASP性质完全是不同的,它和JSP一样,都是
8、一种编译性的脚本,本身完全与强大的Net框架结合,完美的支持Xml的各种应用,与昔日的ASP不可同日而语,但是无论是ASP还是ASP.NET,它都摆脱不了Windows平台本身,这是ASP一个致命的缺点。2-3 JSP语法基础2-3-1嵌入了JAVA语言的HTML文件把下面网页保存为:j1.jsp这就成了一个最简单的JSP页面了,其中是声明输出的文件类型为text/html,字符编码是gb2312,在JSP中里的容表示的是JSP编译时的一些选项或向客户端发送的头信息的JSP指令,里的容就是Java语言,如果有必要,更改适当设定,还可以使用javascript作为脚本,不过实际应用中很少有人这样
9、做。2-3-2 request、out & response-与访问者的交互接收客户端的请求和向客户端返回信息是动态网页最常做的事情,在JSP中,主要通过request、response、out 三大对象实现这些功能。request 对象的作用是接收用户通过URL或通过表单向发服务器发送请求信息和与用户计算机相关的一些信息。response 对象用于网页传回用户端的回应。out 用于传送回应的输出,即向客户端返回信息。把上面的例子稍作修改:保存为j2.jsp在浏览器上输入:localhost:8080/j1.jps?msg=我是JSP看一下效果,这和j1.jsp的结果一样吧?但它输出的是客户端
10、返回的信息,这在意义上完全不同于前者。2-3-3 session-保持访问者的会话状态会话状态维持是 Web 应用开发者必须面对的问题。有多种方法可以用来解决这个问题,如使用 Cookies 、隐藏的表单输入域,或直接将状态信息附加到 URL 中。Java Servlet 提供了一个在多个请求之间持续有效的会话对象,该对象允许用户存储和提取会话状态信息,JSP也置了这个对象。Session最基本的用法是:创建一个会话 session.putValue;获得一个会话的值session.getValue;2-3-4 JSP其它基本置对象JSP有九大置对象,除了上述四种以外,还包括:pageCont
11、ext 网页的属性是在这里管理application Servlet正在执行的容config Servlet的构架部件page JSP网页本身exception 针对错误网页,未捕捉的例外这些基本的置对象是构成JSP页面的重要因子。第3章 系统设计本系统采用三层架构设计,它的工作原理如图3-1所示。图3-1三层架构模型采用三层构架以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。3.1数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现
12、的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。3.1.1 数据库需求分析针对一般在线书店的需求,得出如下需求信息。用户分为游客和已注册用户。订单分为单详细订单和总订单。一个用户可以购买多本图书。一个用户对应一订单。一个列表对应多订单。针对本系统功能分析,总结出如下的需求信息。用户,包括数据项:用户ID、用户名、密码。图书,包括数据项:图书编号、图书名、价格、图书介绍。订单列表,包括数据项:订单编号、图书编号、购书数量。订单,包括数据项:订单编号、用户编号、下单时间。从本系统中规划出的实体有:用户实体、图书实体、订单实体、订单列表实体。订购用户订单列表订单图书
13、实体之间关系的E-R图如图3-5所示。1 1 NN图3-5实体关系E-R图用户信息实体的E-R图如图3-6所示。图书实体的E-R图如图3-7所示。订单实体的E-R图如图3-8所示。订单列表实体的E-R图如图3-9所示。图书图书编号图书名称分类编号封面图3-6 图书实体E-R图用户用户名密码用户编号E-mail图3-7 用户实体E-R图订单订单编号用户编号图书编号订购数量图3-8 订单实体E-R图订单列表订单号用户编号图书编号是否付款图3-9 订单列表实体E-R图3.1.2 数据库逻辑结构设计在线书店数据库中各个表的设计结果如下面的标和所示。表3.1为图书信息列表book。表3.1图书信息表bo
14、ok字段名数据类型长度允许空说明IDint4自动编号,主键booknameint4书名bookclassvarchar255图书类别authorvarchar100yes图书作者publishfloat8yesbookNovarchar100yes书号Contenttext16yes容介绍pricetinyint1yes价格Amountint4yes总数量Leav_numberint4yes库存量pictureint4yes封面reg_timedatetime8yes入库时间表3.2为用户信息列表shop_user。表3.2用户信息表shop_user字段名数据类型长度允许空说明IDint4自动编号,会员编号usernamevarchar4no用户名passwordvarchar100no密码Namesint4yes会员级别Sexvarchar50yes名字Addrvarchar50yes地址Phonevarchar25yesPostvarchar25yes邮编Emailvarchar25yesRetimedatetime8yes注册时间RegIpAddrvarchar20yes注册ip表3.3为订单表,记录订单信息ord
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1