酒店点菜系统的设计与实现(周鑫) - 图文 联系客服

发布时间 : 星期六 文章酒店点菜系统的设计与实现(周鑫) - 图文更新完毕开始阅读f05c0228a76e58fafab003df

武汉理工大学毕业设计(论文)

其中③④⑤形成的部分被称为JSP的脚本部分。

3.2.2 JSP文件的访问方法

访问JSP文件主要有两种方法:

1) 浏览器发送对JSP文件的请求。JSP文件会访问Bean或其它能将生成的动态内容发送到浏览器的组件。当Web服务器收到一个JSP文件请求时,服务器将请求发送至Tomcat应用服务器(也可称之为JSP引擎)。Tomcat应用服务器对JSP文件进行语法分析并生成Java源文件(被编译和执行为Servlet)。Java 源文件的生成和编译仅在初次调用Servlet时发生,除非已经更新了原始JSP文件。在这种情况下,Tomcat应用服务器将检测所做的更新,并在执行它之前重新生成和编译Servlet。

2) 发送至Servlet的请求。该访问模型使将内容生成从内容显示中分离出来实现得更为方便。Tomcat应用服务器支持HttpServiceRequest对象和HttpServiceResponse对象的一套新方法,允许调用的Servlet将一个对象放入(通常是一个Bean) 请求对象中,并将该请求传递到另一个页面(通常是一个JSP文件) 以供显示。调用的页面从请求对象中检索Bean,并用JSP来生成客户机端的HTML。

3.3 JavaBean技术

按照Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。

一个基本的JSP页面就是由普通的HTML标签和Java程序片组成,如果程序片和HTML标签大量交互在一起,就显得页面混杂,不易维护。JSP页面应当将数据处理过程指派给一个或几个bean来完成,只需在JSP页面中调用这个bean即可[15]。

JavaBean是基于Java语言的,具有以下特点:

17

武汉理工大学毕业设计(论文)

1) 可以实现代码的重复利用。 2) 易编写、易维护、易使用。

3) 可以在任何安装了Java运行环境的平台上使用,而不需要重新编辑。 从根本上说,JavaBean可以看成一个黑盒子,即只需知道其功能而不必管其内部结构的软件组件。JavaBean是一种基于Java的软件组件。JSP对于在Web应用中集成JavaBean组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在本系统中对数据库中的操作就采用了JavaBean技术,用它封装底层数据库操作,在JSP网页中进行调用,从而简化JSP网页的代码,便于维护。

3.4 JDBC 技术

在JSP中可以使用Java的JDBC技术,实现对数据库中表记录的查询、修改和删除等操作。JDBC技术在JSP开发中占有很重要的地位。

JDBC(Java DataBase Connectivity)是Java数据库连接API。JDBC能完成个三件事:

1) 与一个数据库建立连接。 2) 向数据库发送SQL语句。 3) 处理数据库返回的结果。

JDBC在设计上和ODBC很相似。JDBC和数据库建立的一种常见方式是建立起一个JDBC-ODBC桥接器。由于ODBC驱动程序被广泛地使用,建立这种桥接器后,使得JDBC有能力访问几乎所有类型的数据库。JDBC也可以直接加载数据库驱动程序访问数据库。

因此可以说,JDBC 技术在J2EE 结构的中间层与EIS层的数据源之间提供了数据库独立的开放性连接,使应用程序不仅可以对基于SQL 标准的关系数据库系统进行访问,而且还可以对其他类型的数据源进行访问。JDBC技术通过提

18

武汉理工大学毕业设计(论文)

供API使Java 应用程序能够实现位于企业信息系统层的数据库的访问能力。

J2EE结构中间层的应用组件通过JDBC技术主要可以完成下列功能:实现与位于J2EE结构中企业信息系统层的数据库服务器的连接;管理事务;将SQL 请求传送到数据库管理系统进行预处理并执行相应的数据操作;执行存储过程;检查修改查询语句的执行结果等。

3.5数据库连接池技术

在数据库操作中,数据库的连接开销最大,耗时最长。通常的处理方法是,Servlet响应客户请求时,如果要求操作数据库,那么它会建立数据库的连接,然后与数据库进行数据交换,最后,关闭数据库的连接。这样就会造成每响应一次用户请求就会进行一次数据库连接和关闭,如果同时请求的用户数量很大,那么数据库的连接和关闭的开销将会变得巨大。必然会造成系统的负载过重,响应的速度也会减慢。显然,这种处理方法性能是较低的,但是由于Servlet是基于HTTP协议,HTTP协议是无状态的协议,在处理完用户的响应后,不会保存用户的各种信息。因此,同一个用户的请求会当作不同的请求来处理。那么,同一个用户的两次数据库操作本应该做一次数据库连接,但由于HTTP无状态的原因,会进行两次数据库连接。HTTP协议的无状态性是造成数据库的无效的连接和关闭的根本原因。

HTTP协议是国际标准的协议,无法将其改变。为了提高数据库连接的有效性,中间层的数据库连接将采用数据库连接池技术。

连接池技术的核心思想是在数据库的连接被需要之前去建立一个数据库连接的集合。也就是说,在Servlet第一次被装载时,先建立一定数量的数据库连接后,放在一个集合对象中。这个对象作为数据库连接的代理,所有数据库连接的访问都由这个代理进行控制。当有客户端请求数据库连接时,它只需简单地向数据库连接代理程序请求空闲的连接就可以了。这个代理程序将从连接池中选择一个空闲的连接,并给它进行标记,以说明此连接不可用,然后将这个连接返回给浏览器。由于连接是提前创建的,因此代理程序几乎可以不需要任何系统的开销就立刻返回一个连接。当连接不再需要时,浏览器可以将它返回给代理程序,

19

武汉理工大学毕业设计(论文)

再由代理程序标记为可用。除了处理连接,代理程序将负责维护连接池的所有细节。其中包括数据库连接的刷新,刷新主要通过删除并重新建立某些数据库连接,或者当连接池中的可用连接被大量并行请求耗尽的时候而去创建新的连接。

20