第1章 概述
1.4 同类软件国内外现状
目前,售票系统在国内外都已经得到了广泛的应用,无论是在飞机场,火车站,还是汽车站,都是借助于售票系统进行售票的。国外售票系统的开发及应用起步的比较早,而且国外的通信发达,所以在售票系统的结构上大都采用的是集中处理的主机/终端方式。尤其在欧洲这样的结构更加适合。我们国家12306火车订购网站由铁道科学研究院电子所负责开发和维护,于2011年6月1日正式上线,这极大的方便了旅客实现足不出户就能订票的愿望。但是由于我们国家的网上订票系统才刚刚投入使用,还存在这诸多的不足之处。除了网站设计方面的不足 ,主要原因还是由总过的国情决定的。首先,全国铁路7万多公里,6000多个车站,快车营业站1700多个;铁路售票日交易额非常大,正常情况下全国每天售票量达250万张到300万张。春运期间则高达420万张。并且集中在每天的上午。这在全世界其他国家绝无仅有。
第二,我国实现了席位的精确管理,国外欧美铁路除了部分高档列车可以预定席位外,其他基本不对号,这一点类似民航系统,换登机牌时才对号,这对系统的数据库要求会有很大的不同;此外,我国运输组织与管理复杂,变化大,如春运期间大量的加开车,甩车,票种繁多,票价计算复杂,变化大等等,此外还有学生票,中转票等。另外与国外相比,我们铁路系统对安全性要求更高。中国的百姓以火车出行为主,买票绝不能中断,其社会影响很大,可以说,我国铁路售票系统具有覆盖面广、交易量大、实时性强、席位精确管理、安全可靠性高,系统复杂程度高等特点,是任何一个国家的铁路售票系统或者其他行业系统无法比拟的。要开发建设规模如此庞大、技术如此复杂的系统,其难度可想而知,国内外专家在了解了中国铁路客票的发售工作的实际情况后,感慨的说,这个系统如能完美的构建完成,堪称世界票务管理系统之最。因此,我们的铁路售票系统任重而道远。
2
第2章 开发工具及模式相关技术简介
第2章 开发工具及模式相关技术简介
2.1 JSP简介
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Script let)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和script lets,来封装产生动态网页的处理逻辑。网页还能通过tags和script lets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。 2.1.1 JSP的运行原理
在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件
3
第2章 开发工具及模式相关技术简介
在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。
在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。
2.1.2 JSP页面的组成
JSP页面看上去像标准的HTML和XML页面,并附带有JSP引擎能够处理和解析执行的代码与组件。通常,JSP代码和组件用于创建在最终页面上显示的文本。通常来说,JSP页面包括编译指令,动作指令,声明,表达式和程序段等内容。
1)编译指令:使用JSP编译指令(〈%@ 和 %〉内的)来指定所使用的脚本语言,Servlet实现的接口,Servlet扩展的类,Servlet导入的软件包。JSP指令的一般语法形式为:<%@ 指令名=“值”%>。
2)动作指令(标识):动作指令用于执行某些动作。在JSP规范中有2种类型的动作指令的标识。第一种是标准动作,它定义的是无论在什么版本的JSP引擎或Web服务器下总是可用的动作。第二种是自定义动作,它通过使用taglib指令来实现。例如JSP:useBean;JSP:setProperty;JSP:getProperty就是标准动作。
3)声明:用于声明合法的变量和方法。与任何语言相同,JSP语言使用变量来保存数据。这些变量用declaration元素声明,声明的语法为<%! declaration(s) %>。当页面被初始化的时候,JSP页面中的所有声明都被初始化。除了简单的变量,方法也能被声明。声明不对当前的输出流产生任何影响。
4)表达式:通过计算表达式所得到的结果来表示某个值。表达式的形式为:<%=expression>。表达式求值的结果被强制转换为一个字符串,并插入到当前的输出流中。
5)程序段:JSP可以在页面中包含的一段程序,称之为程序段。程序段是一
个代码片断,在请求的处理过程中被执行。程序段可以和页面中的静态元件组合起来
4
第2章 开发工具及模式相关技术简介
创建动态生成的页面。程序段在“<% %>”中定义,在这对标识中的所有东西都会被当成JSP程序执行。 2.1.3 JavaBean技术介绍
JavaBean技术是一种基于Java的组件技术,JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据的提取等,是解决代码重用问题的一种策略。
以前的组件无法实现真正的代码重用,其主要原因就是它们对于处理平台的依赖和对开发语言的依赖过重。由于Java语言在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们的关注。它的任务就是:一次编写,可以在任何地方执行,
可以在任何地方重用。JavaBean组件可以在任何地方重用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。 为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构及细节问题,只需要定义其外部的特征及对外功能就行。其中,属性、方法和事件三种接口可以独立对外进行开发。
JavaBean的实质就是一个.class文件,也可以成为类文件。JavaBean以binary格式保存,可以保护Java源代码不容易被他人抄袭。 2.1.4 Servlet技术简介
Java Servlet是与平台无关的服务器端组件,它可以运行在Servlet容器中。Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用\请求/响应\的模式 Servlet可以完成以下功能:
1)创建并返回基于客户请求的动态HTML页面
2)创建可嵌入到现有HTML页面中的部分HTML页面(HTML片段) 3)与其他服务器资源(如数据库或基于Java的应用程序)进行通信
4)接收多个客户机的输入,并将结果广播到多个客户机上,如Servlet可以实现支持多个参与者的游戏服务器
5)根据客户请求采用特定的MIME(Multipurpose Internet Mail Extensions)类型对数据过滤,如进行图像格式转换
5
第2章 开发工具及模式相关技术简介
2.1.5 JSP的运行环境
要运行Jsp(注意,不是浏览Jsp页面),需要有支持Jsp的服务器。这里分2种情况:一种是自身就支持Jsp的服务器,如Jrun,Weblogic,JSWDK等;而另一种则是在不支持Jsp的服务器上安装Jsp引擎的插件,如在IIS,Apache等服务器上安装WebSphere,tomcat,Resin等插件。其中主流服务器是Weblogic和tomcat.
Weblogic是一款功能强大的服务器软件,配置比较简单,而且Jsp的扩展功能较多,附带了数据库的JDBC驱动程序。,支持JHTML(一种与Jsp十分相似的技术),是目前市场占有率最高的服务器。不过,Weblogic的运行情况不太稳定,使用它调试Jsp文件,出现语法错误或者数据库连接错误时,Weblogic就有可能崩溃。
Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。访问的地址 http://jakarta. apache.org/tomacat/index.html, Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。不足之处是它的配置比较麻烦,而且有一些安全性的问题没有解决。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。 2.1.6 JSP技术优势
为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案[3]。
1.将内容的生成和显示进行分离 2.可重用组件 3.采用标识 4.适应平台 5.数据库连接
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
2.2 Microsoft SQL Server 2000简介
SQL Server2000数据库系统 :数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、
6