当前位置:首页 > 基于Web的在线考试系统的设计与实现毕业设计说明书(论文)
2.1.2 Connection类
Connection对象代表与数据库的连接。调用DriverManager类的getConnection()方法将返回一个Connection()对象。JDBC中url的标准语法由三部分组成,各部分用冒号分隔。如:Jdbc:<子协议>:<子名称>
其中,jdbc表示协议,并且JDBC中的url的协议总是jdbc。<子协议>表示驱动程序名或者数据库连接机制的名称。子协议的典型示例是”odbc”,该名称是为指定的ODBC的数据资源名称的url专门保留的。例如,为了通过JDBC-ODBC桥来访问某个数据库,可以使用如下所示的url: Jdbc:odbc:MyDataSource 其中,子协议为”odbc”,子名称” MyDataSource”是本地ODBC数据源。 Connection类是JDBC中主要的类之一,从事务处理到创建语句,从管理连接到向数据库发送查询,它提供了许多功能。Connection中的方法按照功能划分主要有以下几类:
a) 向数据库法送SQL语句; b) 事务处理; c) 管理连接。 2.1.3 Statement类
Statement对象是由Connection类的createStatement()方法创建的,用于将SQL语句发送到数据库。作为在给定连接上执行SQL语句的容器,Statement对象用于执行不带参数的简单SQL语句。Statement对象可由Connection类的两种不同的createStatement()方法创建,如下: Statement stmt = conn.createStatemnet(); Statement stmt = conn.createStatement(int type,int concurrency); Statement具有三种执行SQL语句的方法:executeQuery()、executeUpdate()和execute()。具体使用哪一个由SQL语句所产生的内容来决定。Statement对象将由Java垃圾回收程序自动关闭。而为了养成一种良好的编程习惯,应在不需要的时候显式地调用close()方法关闭它们。这将立即释放DBMS资源,有助于
避免潜在的内存泄露问题。 2.1.4 ResultSet类
ResultSet类提供了对数据结果集的访问机制。结果集是一个二维表结构,其中包含查询所返回的列表题及相应的值。根据创建的ResultSet对象的Statement及其子类的类型不同,ResultSet也分为单向ResultSet和可滚动ResultSet。ResultSet类始终有一个游标指向其当前的数据行。生成ResultSet对象时,游标总是定位在第一行的前面。每调用一次next()方法,游标将向下移动以后。因此,第一次调用next()方法时,将把游标置于第一行之上,使它成为当期行。这样通过调用next()方法可以按照从上至下的次序获取ResultSet的行。
get×××()方法提供了获取当前行中某列值的途径。在每行内,可按任意次序获取列值。但为了保证可移植性,应该从左至右获取列值。列名或列号可用于标识要从中获取数据的行。例如,如果ResultSet对象的rs的第二列名为“title”,并将值存储为字符串,则下列任一行代码都将获取存储在该列中的值: String s = rs.getString(“title”); String s = rs.getString(2); ResultSet中列的信息,被称作结果集的元数据,它被存储在ResultSetMetaData对象中。可通过调用ResultSet.getMetaData()方法得到。返回的ResultSetMetaData对象将给出其对应的ResultSet对象中各列的编号、类型和属性。
2.2 Servlet程序结构
一个Servlet程序[14]就是一个在web服务器端运行的特殊Java类,这个特殊的Java类必须实现javax.Servlet.Servlet接口,Servlet接口定义了Servlet容器与Servlet程序之间的通信的协议。为了简化Servlet程序的编写,Servlet API中提供了一个实现了Servlet接口的最简单的Servlet类,其完整名称是javax.Servlet.GenericServlet,这个类实现了Servlet程序的基本特征和功能。Servlet API中还提供了一个专用于HTTP的Servlet类,其名称是javax.Servlet.http.HttpServlet,它是GenericServlet的子类,在GenericServlet的基
础上进行了一些针对HTTP特点的扩充。显然,一个Java类只要继承了GenericServlet或HttpServlet,它就是个Servlet类。反过来,要编写一个Servlet类,这个类必须继承GenericServlet或HttpServlet类。为了充分利用HTTP的功能,在一般情况下,都应让自定义的Servlet类继承HttpServlet类,而不是继承GenericServlet类。因此,在Servlet程序中上的开头必须导入javax.Servlet.*和javax.Servlet.http.*两个jar包,此外Servlet类必须继承HttpServlet类。由于Servlet生命周期中的三个阶段:初始化阶段、响应客户请求阶段和终止阶段,分别对应于javax.Servlet.Servlet接口中定义的三个方法init()、service()和destroy()。因此,在Servlet程序中必须实现这三个方法。Init()方法是Servlet生命周期的开始。这个方法在Servlet类被实例化后立即执行,它只被调用一次,用来创建和初始化请求所要求的资源。
Public void init(ServletConfig config)throws ServletException 其中,ServletConfig可以读取系统初始化参数的配置,在init()方法中,比较通用的做法是调用其超类的初始化方法super.init()。如果因为一些原因Servlet对象不能初始化请求,所要求的系统资源就会抛出ServletException异常。Service()方法处理来自客户端的所有请求,并把处理结果以静态页面的形式返回给浏览器。其具体语法格式为:
Public void service (ServletRequest req,ServletResponse res) throws ServletException,IOException 其中,ServletResponse 参数用来向客户端返回的信息,ServletRequest参数用来封装来自客户端的请求信息。由于客户端通过HTTP请求Servlet有Get()和Post()两种方式,所以可以用doGet()和doPost()来替换service()方法。但是需要注意的是service()不能和doGet()、doPost()同时使用,因为其本身就包含对doGet()和doPost()方法的处理。destroy()方法用于结束Servlet生命周期。当关闭一个web应用时,destroy()方法就会被执行,这时在init()方法中被创建的资源将被释放。编写完Servlet程序后,还需要编写应用程序的配置文件web.xml。web.xml用来控制Servlet组件的行为,在其中把Servlet映射成url形式通过给用户访问。配置文件web.xml的格式如下:
JavaScript可以让用户创建直接运行于Internet上的应用[15]。利用JavaScript用户可以创建需要的动态HTML页面,处理用户输入及特殊的对象、文件和关系数据库维护稳定的数据。通过JavaScript的LiveConnect功能,程序可以访问Java和COBAR发布的应用程序。
服务器端和客户端的JavaScript共享相同的核心语言。该核心语言完全符合ECMA-262规范,这是欧洲标准体制订的脚步语言标准,除此之外,还有些额外的加强。核心语言包含一组核心对象,如Array和Date对象。它还定义了其它语言特性,但在某些情况下,它们使用这些核心功能还有相当大的不同点。JavaScipt的组成如图2.2所示。
共分享92篇相关文档