毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

jsp电子商务网上交易系统设计毕业论文 第3页

更新时间:2007-10-15:  来源:毕业论文

JSP页面访问的工作原理如下[9]:
Web服务器先将用户请求的JSP文件翻译成服务器端Java程序 -- Servlet,再对该Servlet进行编译,生成Java语言的字节码,保存在缓存中;由Java虚拟机解释执行该字节码,执行结果再传回给用户。这样JSP网页只有第一次被请求时才编译,以后再有相同的请求无需编译,执行现有的Servlet即可。相比ASP网页的每发生一次请求就要重新编译一次的效率要高得多。
JSP有很多优点:
(1)分离了动态内容的生成和显示。
JSP将动态内容的核心逻辑封装在标识和Beans中,用户使用而不影响其生成。JSP页面在服务器端执行,既保护了原代码,又保证Web浏览器的完全可用性。
(2)依赖可重用的,跨平台的组件(JavaBeans或者EJB组件)来扩充其功能,执行应用程序中较为复杂的处理。
(3)用标识简化了页面开发。标准的JSP标识功能强大,能够访问和实例化JavaBeans组件,设置或检索组件属性,下载Applet,以及执行用其它方法难于编码和耗时的功能。
(4)有良好的兼容性、较好的灵活性和简易性。

第五章 系统实施难点
5.1 信息即时无刷显示
Web是基于http的请求/响应的模式,只有用户先对某一页面请求后,Web服务器才将请求的页面通过html发送给客户端的浏览器,而且从用户提交请求到显示必定有一定的周期,这种半主动模式保证了网络的安全,但是同时也为基于Web的即时信息传输带来了障碍。传输的双方可以在任意时刻提交信息,但是双方显示信息就不是很方便了,正如目前的聊天室显示聊天的信息,都是通过不断的刷屏,这个过程就是从Web服务器上读取信息的过程。当参加的谈判人数很多后,页面响应周期也相应随之增长,页面频繁的刷新也给用户的使用产生不好的影响,不利用Web谈判系统的推广。
怎样解决基于Web谈判支持系统的信息即时交互?即时的信息包括双方的谈判的内容,货物的订单,合同的即时确认等,目前处理信息即时交互的方法主要有三种:不断请求页面(类似于聊天室),下载插件和Java Applet。但是这三种方式都有各自的缺点。第一种方式的缺点引起的原因是浏览器要不断的刷新,这样不仅容易受到网络带宽的限制,而且页面不美观,第二和第三种方式主要是安全性得不到保证。在2005年提出了新的技术-AJAX。利用这种技术页面无需下载任何程序,无需不断刷新页面就能即时显示对方信息。
5.2 AJAX介绍
与传统的Web应用不同,AJAX采用异步交互过程。AJAX在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待的缺点。用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互[10]。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用JavaScript调用AJAX引擎来代替产生一个HTTP的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给AJAX来执行。其模型结构如图5.1所示。

图5.1 AJAX模型结构图
根据AJAX的异步交互的特点,在更新页面时也不用重新加载整个页面,只要加载双方刚发出的信息,这样既减少了数据的传输,节省了时间,同时更加人性化,不用再频繁地刷屏。
5.3 基于AJAX谈判界面实施
双方的显示器要不断获得对方的消息,在请求/发送模式下必然要不断向服务器请求,同时不断刷新页面。但是应用AJAX后,只对页面中特定的部分进行操作,而不需要对整个页面刷新。服务器的请求是通过JavaScript生成XMLHTTPrequest对象实现,由于浏览器的不同,生XMLHTTPrequest的方式也不同,IE浏览器产生XMLHTTPrequest的方法是通过xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")语句实现的,非IE浏览器是通过xmlhttp = new XMLHttpRequest()语句实现的。产生对象后,系统通过post或get方法向指定的页面发送消息,同时指定服务器返回的处理函数。处理函数的功能是把服务器返回的结果插入到页面特定的位置。核心代码(1)实现了页面即时无刷显示。
5.4 决策室的构建
根据谈判的特点,谈判的内容一般是保密的,这就决定了谈判者必须处于密室之中,特别是过程支持的谈判支持系统(NSS)中更为重要,这个系统所需的“决策室”也真是目前基于Web谈判系统的难点。此“决策室”不仅要能显示双方基于文字的谈判内容,还要能够根据谈判内容生成文件,交换文件,保存文件,例如根据谈判的内容生成合同,订货单,调货单,再加上数字签名技术保存文件,使其具有法律效应。目前基于纯B/S的Web谈判支持系统,也就是不用下载客户端,这方面的研究还很少。大部分是基于C/S结构,需要下载客户端,或者下载小程序或插件,利用Socket通信原理,即时的处理信息,如淘宝网,必须要下载客户端才能进行即时谈判,进行订单处理等。
本系统的“决策室”是动态的,在系统启动后,会自动分配多个静态变量,作为每个“决策室”的房间号。在请求洽谈过程中,首先查询哪个房间为空,查询的方式是以房间号从小到大,如果所有房间都满则显示房间已满的信息。得到一个房间号后,以此为向量,所有的交流信息,如谈话内容,合同,订货单等都会分配到特定的向量中,然后谈判的对方从这些向量中提取信息。核心代码(2)的主要功能是创建“决策室”与获得“决策室”房间号。
5.5 合同签订与确认分析
在WNSS系统中有一个合同生成系统,根据交易商品的种类选择适当的合同模板,合同的签订必须是经过双方的同意才能生效。本系统处理合同的方案是,买方填写合同内容,然后发送到卖方确认,确认结果再返回买方最终确认。由于本系统与库存系统相连接,所以在确认的过程中,系统提取合同中的数据与库存系统中的数据进行比较,库存系统中是否有对应的货物,系统会给出提示。如果库存中有对应的货物,系统会立即冻结商品,冻结的时间合同中可以设定。在商品冻结期间,此冻结商品不能卖给其他商家。如果库存中没有对应的商品,买家就要谨慎考虑是否要在线付款。合同经过双方确认后,系统会根据合同内容自动生成提货单,同时生成提货单密码。在买方可以通过在线银行付款,或其他方式付款后,根据卖方提供的密码和提货单去仓库提货(仓库也是合同中规定的)。到此整个网上交易完成。合同生成的时序图如图5.2所示:

图5.2 合同生成的时序图
合同生成是整个系统中非常重要的一部分,它不仅仅是完成了此次交易,同时为决策支持提供了原始数据。每次交易合同的详细数据都会存入数据库中,如交易的商品名称,成交量,成交价格,时间等等。这些大量的,有用的数据经过整理和分析后,为决策提供了很好的依据。
5.6 Web编辑器以及内容的传输
如图5.3所示,合同模板必定包含合同条款这一栏,此栏中是双方对交易的详细说明,对用户而言就是一个编辑器。在HTML中有两种方式可以制作编辑器。方法一是利用<texteara>标志符,它的优点是数据传输的方便,要传到另一个页面只要request.getparament()就行了,但是它的缺点却是非常明显,不能编译html内容,例如在此编辑器中的分行内容,传递到另一个页面就不能以分行的形式显示出来。同时这种编辑器只有单个字体的文本输入,不能对字体的大小,颜色等进行编辑,这种编辑器目前基本上被淘汰了。
另一种编辑器是利用标志符<iframe>,它有丰富的编辑功能,所有功能的实现都是基于JavaScript,例如编辑字体的大小,颜色,布局,同时还能插入图片等,对内容的编辑的标志符号能自动保存并传递到后台。浮动框架(<iframe>)默认状态下内容是不能编辑的,通过脚本语言aa.document.designMode = "on"(aa是浮动框架在页面中的ID)重新定义设计模式,就可以对内容进行编辑了。在利用JavaScript动态添加各种标志符,就可以实现功能丰富的Web编辑器。

图5.3 Web页面的合同编辑器
但是浮动框架是Web编辑器的一个缺点是不能直接传输数据,在本系统中,采取的解决方案是先利用遵循W3C DOM的JavaScript提取编辑器中内容,然后把内容插入到一个隐藏字段中,document.getElementById('WebEditor1').value= editor.document.body.innerHTML,等式后面是提取的编辑器内容,等式之前是隐藏字段的值,内容赋值再隐藏字段后,再通过普通的方式传递和提取就可以了。
5.7数据库的连接问题
5.7.1常用数据库连接方式[11]
系统中的很多数据必须存储在数据库中,有些数据则被频繁的读取或者修改,数据的读取或修改意味着程序要频繁的与数据库相连。目前有四种驱动程序支持着程序访问数据库:
(1)JDBC-ODBC桥;
(2)部分Java,部分本机驱动程序;
(3)中间数据访问服务器;
(4)纯Java驱动程序;
这四种驱动程序各有自己的优点,但是目前从效率,方便程度等综合考虑一般选择第四种驱动方式。这种方式的本质是使用套接字(Socket)进行编程。纯Java驱动运行在客户端,并且直接访问数据,因此这个模式要使用一个两层的体系,如图5.4所示。

                           图5.4 纯java驱动程序
这种类型的驱动程序是本地协议的完全Java技术性能驱动程序,同时他的使用也比较简单,客户端不需要安装任何中间件或者运行库。但是数据库连接对象还是一个物理数据库连接,每次连接及关闭对系统而言是耗费系统资源的操作,在多层结构的应用程序环境中,这种耗费资源的动作对性能的影响尤为明显。
5.7.2数据源与连接池
数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态地对池中的连接进行申请、使用和释放。对于多于连接池中接连的并发请求,应在请求队列中排队等待。并且应用程序可根据池中连接的使用率,动态增加或减少池中的连接数。连接池技术尽可能多地重用消耗的内存资源,大大节省了内存,提高了服务的服务效率,能够支持更多的客户服务。通过使用连接池,将大大提高程序运行效率,同时我们可以通过其自身的管理机制来监视数据库连接的数量,使用情况等[12]。本系统使用的是Jboss3.2.3服务器,由于其本身可以配置数据源,所以我们只需要对JBoss中的数据源进行配置:

上一页  [1] [2] [3] [4] [5] 下一页

jsp电子商务网上交易系统设计毕业论文 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。