




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业论文题目名称:购物网站商城系统系部名称:计算机系班 级:05级软件技术学 号:学生姓名:0000指导教师:0002008年 5月购物网站商城系统摘 要随着网络的发展,网络已渐渐融入到人们日常生活中,网络购物逐渐成为人们购物的一种新方式,易趣、淘宝等购物网站已是众多网上购物者喜欢光顾的地方。Internet上的企业计算飞速发展,Web服务器早已不再局限于过去的HTTP服务,CGI、PHP、ASP等技术早已使服务器端的数据库服务和应用服务成为所有网站的家常便饭。而具有跨平台特性的Java更是震动了Web世界。Sun公司的J2EE平台以它的优良特性大大简化了服务器端多层企业应用的开发,已经成为电
2、子商务网站的事实标准。基于商务网站的建设和web技术的发展,采用J2EE平台开发网上购物平台。该平台采用APACHE作为Web服务器和应用服务器,后端连接Microsoft SQL Server数据库;网站中主要经营服装类,发布最新的服饰资讯、流行趋势和各类经典服装。提供方便的检索工具供用户查询所需的款式,允许顾客根据网站的不足提出意见和建议,从而不断改进网站功能和建设。关键词:网上购物;购物系统目 录摘 要I一、概述1(一)Web技术的发展1(二)研究现状2(三)开发技术2(四)本文的主要工作3二、开发环境3(一)JSP环境3(二)数据库及数据库连接所需配置4(三)Dreamweaver U
3、ltraDev 4.04三、JSP技术及应用5(一)JSP原理及特点5(二)JDBC及数据库管理的连接6(三)JSP与JavaBean10(四)JSP处理表单事务13四、流程设计和数据表18(一)Dreamweaver UltraDev 418(二)数据流程图19(三)业务流程19五、安全分析24(一)概述24(二)典型分析24(三)安全启示25六、结论26(一)工作总结26(二)未来的工作26致 谢27参考文献28购物网站商城系统一、概述(一)Web技术的发展1991年,欧洲粒子物理研究所(CERN)的软件工程师Tim Berners-Lee发布了他的万维网(World Wide Web)。
4、从此以后,通过互联网看到的将不仅仅是文字,互联网有了图片,后来又有了音频、动画甚至视频。WWW的成功在于它制定了一套标准的,易于掌握的超文本标记语言HTML、信息资源的统一定位格式URL和超文本传输协议HTTP,用超链接和超媒体把Internet上各种相关数据有机地链接起来,使互联网上的资源实现了共享。你只需要点击鼠标就可以浏览来自世界各地的丰富的、直观的信息,一个不懂电脑的人也可以很快成为Internet 行家。1WEB页面的开发 开始的web页面都是静态文本,页面呆板,互动性不强,但是随着技术的发展,很快各种各样的动态网页技术涌现出来,这其中包括CGI, ASP, PHP, Java,脚本
5、语言如:JavaScript, VBScript等等。JavaScript 和 VBScript可以嵌入在HTML中实现一些客户端的动态功能;CGI大大扩展了Web服务的功能,可以实现web服务器与数据库及文件系统、应用程序的通信,动态生成超文本,于是网页活了起来。但CGI的运用需要具有一定的编程能力及算法技巧,而且与HTML要分开编写,维护和编写都比较困难,效率和安全性也不好。 ASP, PHP克服了这些缺点,获得了广泛的应用。Java的出现给Web带来了新的活力。它具有完全的平台无关性,一次编写处处运行,用Java可以编写web页中执行的小程序Applet。它简单、面向对象、安全、健壮、分
6、布式等优点特别适合开发web应用。在美国,JSP+ Servlet+ EJB已经成为电子商务网站的开发标准。2电子商务的兴起“由于电子商务在全球的迅速发展,现在全球有1.2亿人通过互联网购买过商品或服务。这项研究建立在34个国家互联网用户投票并与大约28,000人面谈的基础上”。Angus Reid Group对网民第一次网上购物时间的调查显示,绝大部分网民近三年才开始进行网上购物,而且人数比例逐年递增。98、99年开始网上购物的网民很少,合计不足5%;2000年跃升至23%,之后逐渐攀升,至2002年则高达40%左右,2000年以后开始网上购物的网民合计占总人数的90%以上。数据表明,网民对
7、网上购物的热情并没有被互联网的寒冬冷却,相反越来越多的网民开始尝试网上购物,随着网民数量持续高速增长,电子商务的消费环境和受众群体网上消费意识也将得到有效地改善。网上购物是电子商务的基础形式,如果能够抓住这一时机,适时推出受网民喜爱的网上商品和网上交易方式,国内电子商务企业的发展将可以提高一个台阶。 (二)研究现状1网站开发环境在国外,Jsp+Servlet+Jdbc+JavaBeans已经成为开发电子商务平台的主流技术,而在国内用JSP的技术网站很少,还未成为一个主流的开发工具,主要原因是在国内很多服务器平台都是WINNT/WINDOWS2K,并且ICP服务商并未提供JSP服务,或许是对Js
8、p了解比较少的原因,但是,国内还是有许多成功的Jsp站点。如,ChinaRen网站采用的是Jsp技术,还有C中华网的缘分的天空Lovesky.C,是一个交友的大型娱乐网站。2商务网站存在的问题现今,购物网站主要存在以下一些问题:、目前,绝大多数的电子商务网站都还不是完全意义上的电子商务网站。虽然中国的绝大多数电子商务网站都已经实现了网上接受订单、网上支付的服务,但大多数网民采用的仍是在线订购、离线支付的方式。并且,目前网站与其供货商和配送单位采用的多是传统的沟通方式,效率比较低。2、商品价格并没有足够的竞争力。网上的价格并没有很强的竞争力,大多数产品加上运费后和传统商场的价格基本持平,而一些计
9、算机硬件产品和通讯产品的价格则还要高于传统市场的价格。3、订货一确认一付款一认证一发货一送货各环节结合不紧密,经常出现脱节的现象。发生了问题,调查起来比较困难。、缺乏创造力。盲目追随成功网站的模式,使得电子商务类网站呈现出“百站一面”的尴尬局面。(三)开发技术1JSP和ASPASP是微软的产品,其应用只能是在Windows平台上,移植性差,而且以源代码的形式存放在服务器端,安全性差。每次由服务器解释运行,运行效率不高。Jsp页面文件执行时被编译成字节代码,由客户端流览的Java虚拟机解释执行,不再是源代码,因此执行效率和安全性高。将数据库连接的重要信息存放在JavaBean文件后,可以编译成虚
10、拟机才能解释的字节代码,确保了数据库的安全。在ASP技术里,通过Web页面要实现一些特定的功能比较困难,比如基于网页的报表,打印实现起来就比较麻烦。ASP提供的解决方案是自己开发组件,通过在服务器端注册组件,成为独立的可以重复利用的模块供读者调用。因此要求读者需要掌握比较复杂的变成语言的开发技术。在JSP开发技术里,可以通过开发JavaBean文件实现同样的功能,JavaBean不需要注册,只要放置在相应的目录下就可以运行。可以实现ASP的COM组件同样的功能。此外JSP推出主要就是考虑到平台的无关性。JSP代码可以在APACHE、IIS等服务器上执行,支持大部分操作系统。JSP继承JAVA技
11、术的优点:一次运行,处处运行。2JSP技术综述及其组件在B2C商务网站上的应用Servlet可以让你建立动态生成的网页,而网页中包含有从服务器方的Java对象中所获得的数据。但是你也得知道servlet 生成网页的方法就是在Java类中嵌入HTML标签和表述代码。这就意味着改变表述代码需要修改和重新编译servlet源文件。因为设计HTML页面的设计人员可能与编写servlet代码的开发人员不是同一个人,更新基于servlet的web应用程序就成了一件非常棘手的事情。JSP网页可以非常容易的与静态模板结合,包HTML 或XML 片段,以及生成动态内容的代码。 针对代码的重复使用,SUN公司提出
12、了JavaBean技术,类似于microsoft的组件对象模型COM技术,JavaBean的价值在于它可以经由一组属性来使用,而这些属性则提供对JavaBeans设定的存取。JavaBean就好比一个单位,而单位的名称、地址、以及规模都可以称之为属性。在JSP原有的优点上支持紧凑方便的创建和使用,提高了分部计算机制的强壮性。J2EE平台为应用程序服务器定义了一个服务器端组件模型,简化了中间件组件的开发。J2EE的相关技术,包括RMI, CORBA, JSP, EJB等等,极大的简便了商务网站的开发, 可以从中选择合适的技术构建发布平台的框架,已逐渐成为开发标准。(四)、本文的主要工作本文讨论了
13、服务器端三层模型的特点,分析了Dreamweaver UltraDev开发工具的特点及JSP开发技巧,论证了创建购物网站的框架结构以及前台WEB界面和后台数据库的连接设置,对于未来的一个发展方向和平台安全性解析,APACHE+Dreamweaver+MSSQL+Tomcat是比较合适的技术支持。二、开发环境(一)JSP环境1JSP环境软件 本文所采用的JSP环境软件有如下:1、Tomcat 4.0.22、j2sdk-1_4_2-windows-i586 2JSP环境的安装和环境变量的设置首先安装Tomcat,安装到D:Program Filesapache tomcat4.0.2下,再安装JD
14、K,取目录为D: j2sdk1.4.2。接下来配置环境变量:右键点击“我的电脑”,在弹出的菜单中点“属性”,在系统特性里选择“高级”,找到“环境变量”,点击进入后,“系统变量”就是我们需要设置的地方。(图2.1)图2.1 系统特性 1、新建classpath变量,然后在变量值中输入以下内容:D:j2sdk1.4.2lib;D:ProgramFilesApacheTomcat 4.0lib;%CLASSPATH%2、新建java_home变量,然后在变量值中输入以下内容:D:j2sdk1.4.23、编辑path变量:在原有的变量值后添加JDK的BIN目录和LIB目录,最后结果如下%SystemR
15、oot%system32;%SystemRoot%;%SystemRoot%System32Wbem;C:ProgramFilesMicrosoftSQLServer80ToolsBINN;D:j2sdk1.4.2bin;D:j2sdk1.4.2lib;%PATH%4、新建变量tomcat,变量值为:D:Program FilesApache Tomcat 4.03JSP环境的测试现在让我们来测试配置是否成功,在IE中输入http:/localhost:8080/,如果出现tomcat的欢迎画面则表示安装成功。(二)数据库及数据库连接所需配置本文采用了中小型网站使用的MSSQL SERVER
16、2000来作为后台数据库。最后为了能和数据库(MSSQL)连接,还需要增加mssqlserver.jar,msutil.jar,msbase.jar三个文件到commonlib目录下。(三)Dreamweaver UltraDev 4.0Macromedia Dreamweaver UltraDev是专门为软件开发所设计的,它能帮助我们更容易更迅速的完成工作。UltraDev功能全面,能够制作三种基本动态网站ASP、JSP、ColdFusion;其次,UltraDev能迅速建立你的动态网站、与现存软件的网络接口、以及动态支持的数据库。可以非常直观地开发网络软件,同时保持对代码的完全控制。拖放服
17、务器行为可以很容易地制作显示、导航和更新数据库内容的网页;再次,Macromedia公司提供了大量的第三方插件,其中包括了多种购物车功能插件。除此之外,UltraDev的扩展功能提供了开发在线商店所需的所有东西,让这些商店能够支持多种功能,而且容易维护。同时,你能方便地制作使用内置税和运输计算、复杂的商业选择、实时信用卡交易和其他功能的电子商务网站。UltraDev的工作流程大致分为以下6步:1、系统分析。要创建一个具有电子商务功能的网站,首先就是需求分析。2、制作静态页面。可以运用Dreamweaver所有的设计工具来完成。3、定义记录集。在应用程序中使用数据库,接下来就要定义记录集,以便临
18、时从数据库中提取数据。应用程序不能直接调用数据库,必须以记录集为中介,我们可以将数据绑定面板中对应记录集的字段添加大WEB页面上,也就添加了动态内容。4、添加动态内容。在完成了第三步后,就可以使用UltraDev添加动态内容,不必考虑如何插入服务器端脚本到WEB页中,添加时我们只需指明位置和内容。5、添加服务器端的行为,激活动态页面。所谓的服务器行为就是用VBScript、JavaScript、Java或ColdFusion编写的运行在服务器上的脚本6、编辑和调试WEB页。Ultra提供了三种编辑环境:Dreamweaver传统的可视化编辑环境、UltraDev活动数据编辑环境和源代码编辑环境
19、。三、JSP技术及应用(一)JSP原理及特点一些人可能已经对微软的Active Server Pages(ASP)很熟悉了;JSP在多数方面与ASP功能相同但是具有平台无关特性。他们都用来帮助Web内容的开发者们使用相对少的代码创建动态的网页。一个JSP页面包含掺杂着Java代码的HTML代码。当客户机请求这个页面时,服务器处理Java代码,把它生成的HTML页返回给浏览器。Java Server Page,简称JSP,它不但拥有Servlet的所有特性与优点,更增加了程序开发上的弹性,除了Java程序本身跨平台的优点,它是直接在HTML中内嵌JSP程序代码,使得程序开发更为容易、方便。JSP
20、是完全架构在Servlet程序上,不同的是,JSP程序是由JSP Engine先将之转换成相对应的Servlet程序代码,接着将它编译成类文件载入执行,之后它就如同一般的Servlet一样。、 当客户端请求一个JSP网页时,JSP Engine会检查所请求的JSP网页是否已经处于被载入执行的状态,如果没有,它会先读取JSP程序文件,将它换成Servlet程序代码编译载入,然后才执行请求的服务。也是就说,只有当客户端第一次请求JSP网页时,才需要被转换、编译和载入,做到了一次执行,处处执行。JSP的Servlet Class是JSP Engine自动帮我们编译产生的,不像Servlet需要手动编
21、译,另外,在JSP程序中建立新的对象和Java Bean非常方便容易。许多应用程序服务器都支持JSP网页程序,如BEA的WebLogic、IBM的WebSphere,也已有不少的电子商务网站纷纷采用JSP来架站,JSP俨然成为假设商务网站的企业标准。我们来看一个JSP页面的例子。它显示了服务器当前的日期和时间。这里不对代码的细节做解释,但是请注意Java代码放在在两个符号之间, Java表达式放在之间。 Sample JSP Page Date JSP sample The current date is (二)JDBC及数据库管理的连接1Java Database Connectivity
22、(JDBC) 要实现动态网页的实现少不了与数据库的连接,接下来介绍JDBC技术。JDBC的 API通过一个统一的方式访问不同的数据库。类似ODBC,JDBC 对程序开发人员隐藏了数据库产权的问题。因为它是建立在Java之上的,JDBC 也能供提供平台无关性的数据库访问。 JDBC是一个规范,遵循JDBC接口规范,各个数据库厂家各自实现自己的驱动程序(Driver),如下图3.2所示:图3.2 JDBC 接口规范应用程序在获取数据库连接时,需要以URL的方式指定是那种类型的Driver,在获得特定的连接后,可按照固定的接口操作不同类型的数据库,如:分别获取Statement、执行SQL获得Res
23、ultSet等JDBC 定义了四种本质上不同的数据库驱动程序,我们分别阐述: Type 1: JDBC-ODBC 桥当JDBC还在襁褓中的时候,JDBC-ODBC 桥被证明是最有用的。使用它,程序开发人员可以使用JDBC来访问ODBC数据源。它的缺陷是,需要客户机使用微软的windows操作系统,并且安装ODBC驱动程序。通过使用这种驱动程序,你牺牲了JDBC的平台无关性。另外, ODBC driver还需要客户端的管理。 Type 2: JDBC-native 驱动桥JDBC-native 驱动桥提供了建立在本来的数据库驱动程序之上的JDBC接口,没有使用ODBC。 JDBC驱动程序把标准的
24、JDBC的调用转换成原始的数据库API调用。使用Type2 驱动同样牺牲了平台无关性,因为这需要安装客户端的数据库驱动代码。 Type 3: JDBC-network 桥JDBC-network 桥驱动不需要客户端的数据库驱动器。它利用网络服务器的中间件来访问数据库。这使得诸如负载均衡、连接池、数据缓存之类的技术成为可能。 因为type 3驱动程序经常需要一个相对较少的下载时间,具有平台无关性,不需要客户端的安装和管理,这种方式最适合Internet应用。 Type 4: 纯Java驱动Type 4 用纯粹的Java数据库驱动程序提供数据库访问。由于type 4驱动程序在客户机上运行和直接访问
25、数据库,在这种方式下执行意味着2层结构。在多层结构中对type 4驱动的更好应用是使用EJB封装数据访问代码,让EJB为客户端提供数据库无关的服务。 2JDBC驱动及连接APACHE Server 为一些常用的数据库提供了JDBC驱动,包括Oracle, Sybase, Microsoft SQL Server和Informix。使用JSP访问数据库实际上就是先建立一个JavaBean组件,让它来完成与数据库的连接查询功能,并返回一个数据集合(ResultSet),然后在JSP页面中使用标签创建Beans的实例,通过它来对数据库进行查询修改等操作。例. 程序3.2.1try/加载数据库驱动程序
26、,使用MSSQL JDBC驱动Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance(); /建立数据库连接String url=”URL”;String user=”;String password=”;Connection conn= DriverManager.getConnection(url,user,password); /创建statement对象,用于数据库语句的执行、返回 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_S
27、ENSITIVE,ResultSet.CONCUR_UPDATABLE); /定义数据库语句String sql=select * from customeregister; /执行返回结果ResultSet rs=stmt.executeQuery(sql); while(rs.next() 您的第一个字段内容为: 您的第二个字段内容为: rs.close(); stmt.close(); conn.close(); 程序展示了JDBC驱动作用下,与数据库建立连接。其JDBC常用对象如表3.3所示类名 对象DriverManagergetConnection() /建立数据库连接Statem
28、entclose() /关闭当前的statement对象executeQuery() /执行SQL select语句executeUpdate() /执行 SQL的更新语句PrepareStatement继承statement 用于执行带或不带IN参数的预编译SQL语句CallableStatement继承preparestatement用于执行对数据库已存储过程的调用ConnectioncreateStatement /建立一个用语执行SQL语句的statement对象ResultSetclose /关闭当前的ResultSet对象getboolean /将给定的列或列索引制定的列数作为bo
29、olean类型返回getInt /将给定的列或列索引制定的列数作为Int类型返回getFloat /将给定的列或列索引制定的列数作为Float类型返回getLong /将给定的列或列索引制定的列数作为Long类型返回getString /将给定的列或列索引制定的列数作为字符串类型返回,(列名不区分大小写,从列1开始)表3.3 JDBC常用对象 3JDBC支持三层模型JDBC支持两层模型,也支持三层模型访问数据库。 两层模型中,一个java Appple或者一个java应用程序直接同数据库连接。这就需要能直接被访问的数据库进行连接的JDBC驱动器。用户的SQL语句被传送给数据库,而这些语句执行的
30、结果将被传回给用户。数据库可以在同一机器上,也可以另一机器上通过网络进行连接。这被称为“Client/Server”结构,用户的计算机作为Client,运行数据库的计算机作为Server。这个网络可是intranet,比如连接全体雇员的企业内部网,当然也可以是internet。 图3.2.3 客户/服务 结构在三层模型中,命令将被发送到服务的“中间层”,而“中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回“中间层”,然后“中间层”将它们 返回用户。MIS管理员将发现三层模型很有吸引力,因为“中间层”可以进行对访问的控制并协同数据库的更新,另一个优势就是如果有一个“中间层”用户
31、就可以使用一个易用的高层的API,这个API可以由“中间层”进行转换,转换成底层的调用。而且,在许多情况下,三层模型可以提供更好的性能。“中间层”通常还是用C或C+实现,以保证其高性能。但随着优化编译器的引入,将java的字节码转换成高效的机器码,用java来实现“中间层”将越来越实际。而JDBC是允许从一个java“中间层”访问数据库的关键。(三)JSP与JavaBean1JavaBean原理和机制JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的优点是页面显示和业务逻辑的分离。这可以使团队协作的更好,开发出更高质量的站点,而且非常适合于团队开发:1
32、、Java开发人员致力于将业务逻辑在JavaBeans中实现。2、Web开发人员致力于页面的实现,即JavaBeans如何在JSP中工作和设计JSP页面。3、主页人员和美工致力于站点的设计和页面表现风格。这种结构使得Web站点的维护变得容易,特别对于大型的电子商务网站更是如此。JavaBean是一种可以重用的Java组件,它类似于COM,在JSP程序中常用来封装事物逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。事件处理是JavaBeans体系结构的核心之一。通过事件处理机智,可以让一些组件作为事件源,发出可被描述环境或其他组件接受的事件。这样,不
33、同的组件就可在构造工具内组合在一起,组件之间通过事件的传递进行通信,构成一个应用。从概念上讲,事件是一种在“源对象”和“监听对象”之间、某种状态发生变化的传递机智。事件有许多不同的用途,如:鼠标事件、窗口边界改变事件、键盘事件等。在Java和JavaBeans中则是定义了一个一般的、可扩充的事件机制,它能够:1、对事件类型和传递模型的定义和扩充提供一个公共框架,并适合于广泛的应用。2、与Java语言和环境有较高的集成度。事件能描述环境捕获和被激发。能使其他构造工具采取某种技术在设计时直接控制事件,遗迹控制事件源和事件监听者之间的联系。事件本身不依赖于复杂的开发工具。特别的,事件机制还应当:1、
34、能够发现制定的对象类可以生成的事件。2、能够发现制定的对象类可以观察监听到的事件。3、提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。4、不需要其他的虚拟机和语言即可实现。5、事件源与监听者之间可进行高效的事件传递。6、能完成JavaBean事件模型与相关的其他组件体系结构事件模型的中立映射。2编写JavaBean源文件一个JavaBean就是放置在JAVA类,它封装了一些私有的数据和方法,这些私有数据在JSP页面中可以通过SET和GET方法来存取。JavaBean的工作过程也很简单,首先在JSP页面中生成一个JavaBean的实例,然后对数据进行处理,最后使用GET方法得到
35、,最终结果在页面上显示出来。JavaBean文件必须放在与JSP页面存放位置对应的web-infclasses目录下,比如要在sourcejsp中的某一个JSP页面中使用一个JavaBean,这个JavaBean必须放在sourceWEB-INFclasses中。例 3.3.1【sourceWEB-INFclassestestTestBean.java】package test/建立名为TestBean的javabeanpublic class TestBeanprivate String stringValue;private int num;/初始化public TestBean() st
36、ringValue=”this is the initial value”; num=0;/设置VALUEpublic String getValue()return stringValue;/设置NUMBERpublic void setNumber(int number) num=number;/得到NUMBERpublic int getNumber() return num;在JSP页面中调用JavaBean在命令方式下进入JavaBean所在的目录,输入javac TestBean.java,生成TestBean.class文件。【sourcejsptestbean.jsp】bean
37、以上程序为JAVABEAN和JSP组合的一个范例。3常用JavaBean属性在JavaBean的scope有四种:page、request、session、application,它们的关系是applicationsessionrequestpage。Page对象仅在本页面有效。request对象在同一个请求范围内有效,在页面中使用后,由于跳转的页面和当前页面同属于一个request,在跳转过程中并未进行对象的重新创建。session对象在整个session的有效范围内一直存在,当session结束时,这个对象也会跟着消失。application对象在application的有效范围内都有效,
38、只有当服务器重新启动时才会消失。在JSP页面中对JavaBean的内部变量进行存取时,除了直接调用编写好的SET、GET方法外,还可以使用和,使用这两条指令往往能大大简化JSP页面中的代码。set/getProperty语法:(四)JSP处理表单事务HTTP协议解决了在一般情况下,用户和服务器之间的交互操作问题.这个一般情况主要是指用户浏览网页等行为。这些行为中不需要WEB服务器记忆客户端的状态和事件,WEB服务器只是需要简单地响应用户端请求的过程,其实并不是一种真正的用户和服务器之间的交互操作。随着电子商务的迅猛发展,基于WEB和HTTP协议的电子商务应用系统对用户和服务器之间的交互操作功能
39、提出了新的要求,因此也带来了新的问题。例如,当用户通过浏览器在网上商店或网上超市购物时,一般都是由用户先选购物品,用户选购的物品先暂时存放在一个“购物篮”的地方,用户所有的选购物品工作完成后,再去“收银台”统一交费。这和我们在现实生活中的超市购物情景十分相似。这种仿照现实生活的网上购物模式就向我们提出了一个有趣的问题,:由于WEB服务器只能简单的响应用户端的请求,那它如何能够知道我们的“购物篮”里有什么东西? 这时,WEB服务器不能顺利地记住用户在应用系统中所做的事务成了我们的新问题,它使得“购物篮”里有什么东西?即使服务器上保存了上下文信息,我们还会在电子商务应用中遇到其他问题。例如,当用户
40、从选择商品的页面转到输入信用卡帐号和用户个人资料的反面,WEB服务器如何才能记住用户买了些什么东西能?1COOKIE和SESSION一种应用比较广泛也是比较有效的方法是使用COOKIE机制。WEB服务器利用HTTP COOKIE来存储有关购物SESSION的信息,后继的各个链接可以查看当前SESSION,然后从WEB服务器的某些地方提取有关该SESSION的完整信息。然而,即使SERVLET提供了一个基于应用层的使用灵活的COOKIE接口,仍有一些繁琐的细节问题需要处理:1、如何从其他COOKIE中分辨出保存SESSION标识的COOKIE。2、如何设置合理的COOKIE过期时间3、如何把SE
41、SSION标识和服务器相关的信息联系起来。4、COOKIE产生的文件让获取信用卡等保密资料成为了可能。2SESSION的处理SERVLET为我们提供了一种解决基于WEB和HTTP协议的电子商务应用系统用户和服务器之间交互操作问题的方案-HTTPSESSION API。HTTPSESSION API是一个基于COOKIE或者URL改写机制的高级SESSION状态跟踪接口,如果浏览器URL支持COOKIE,则使用COOKIE;如果不支持,则自动使用URL改写方法。SERVLET开发者无需关心细节问题,也无需直接处理COOKIE或附加到URL后的信息,API自动问SERVLET开发者提供一个可以方便
42、地存储SESSION信息的地方。SESSION的信息保存在服务器端,SERVLET的ID保存在客户机的COOKIE中。如果客户机禁止COOKIE,SESSION ID就必须放在URL后面。SESSION一般在服务器上设置了一个30 分钟的过期时间,当客户停止活动后自动失效。SESSION中保存和检索的信息不能是基本数据类型,如int double等,而必须是JAVA的相应的OBJECT如INTEGER,Double。会话状态维持是WEB应用开发者必须面对的问题.有多种方法可以用来解决这个问题,如使用COOKIE、隐藏的表单输入域或直接将状态信息附加到URL中。JAVA SERVLET提供了一个
43、在多个请求之间持续有效的会话对象,该对象允许用户存储和提取会话状态信息。JSP也同样支持SERVLET中的这个概念。在SUN的JSP中有许多隐含的对象,如REQUEST他是HTTPSERVLETREQUEST的一个子类。该对象包含了所有有关当前浏览器请求的信息,包括COOKIE、HTML表单变量等。SESSION对象也是一个隐含对象,在第一个JSP页面中创建,并被关联到REQUEST对象上。与ASP中的会话对象相似,JSP中的SESSION对象对于那些希望通过多个页面完成一个事物的应用是非常有用的。session1.htm-session demoplease input your name:
44、session2.jsp-session demoyour name: what did u like to eat?session3.jsp-session demoyour name:you like eating 在checktype函数中,在验证年份的时候使用了一个JavaScript的内置函数isNaN(testvalue),这个函数的作用是验证一个字符串是不是一个数字(is Not a Number),如果是,返回true.限定字符串长度: /之间function checklength()if (document.myform.username.value.length10)al
45、ter(用户名长度必须在3到10 之间);return false;return true;限定数字范围: /之间function checkrange()year=document.myform.year.value;if(year.length!=4|isNaN(year)|parseInt(year)2000)alter(error year);return false;return true;3表单在服务端的验证表单信息在客户端进行了初次的筛选后,接下来的就是将信息送到服务器端,在进行处理前,进行服务器端的信息验证,包括和后台数据库定义的数据规范及数据之间的验证等/限定字符串长度长度p
46、ublic boolen validlength(String item,int minL maxLen)return(item.length()=minLen&(item.length():+!?#$%&*()|/;String number=;public boolean calidID(String item)for(int i=0;iitem.length;i+)if (!(invalidChar.indexOf(item.charAt(i)=-1)return false;if(!(number.indexOf(item.charAt(0)=-1);return fals
47、e;return true;public boolean isInt(String item)tryInteger.parseInt(item);return true;catch(Exception e)return false;/限定字符串范围:public boolean inRange(String item,int max,int min)tryint value=Integer.parseInt(item);if(value=min)return true;elsereturn false;catch (Exception e)return false;Java servlets
48、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请求 四、流程设计和数据表(一)Dreamweaver UltraDev 4Dreamweaver UltraDev 4 是唯一能在一个开发环境下开发不同技术标准的应用程序软件,其中包括微软的ASP(Active Server Page),JSP(Java Server Page),CFML(Cold F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025物业租赁权转让合同(律师版)
- 2025租房合同模板(英文版)
- 2025年贵州省房屋买卖合同
- 2025写字楼租赁合同样本
- 提升工作效率的方法与实践计划
- 图书馆志愿者计划
- 主题班会教学工作计划
- 薪酬体系设计计划
- 加强企业文化建设的年度方案计划
- 2025雇佣合同,公司劳动合同范本
- 自动转运小车结构及控制系统设计说明书
- 《医学心理学》课件:第11章 医患关系
- 饮水设备巡查维护记录表
- 洛阳十三朝古都课件
- RomaxDesigner 培训教程(合)教学提纲
- 《中国传统服饰——汉服》PPT课件
- 顾洁Storytime
- 小学信息技术认识《画图》
- 【精品】宇通客车涂装车间实习报告
- 冷冻机的制冷效率与运行电费
- 物业服务流程图
评论
0/150
提交评论