Web数据库的访问技术

Web数据库的访问技术,第1张

Web数据库访问技术通常是通过三层结构来实现的。目前建立与Web数据库连接访问的技术方法可归纳为CGI技术,ODBC技术和ASP、JSP、PHP技术。

CGI技术

CGI(Common Gateway Interface,通用网关界面)是一种Web服务器上运行的基于Web浏览器输入程序的方法,是最早的访问数据库的解决方案。CGI程序可以建立网页与数据库之间的连接,将用户的查询要求转换成数据库的查询命令,然后将查询结果通过网页返回给用户。

CGI程序需要通过一个接口才能访问数据库。这种接口多种多样,数据库系统对CGI程序提供了各种数据库接口如Perl、C/C++、VB等。为了使用各种数据库系统,CGI程序支持ODBC方式,通过ODBC接口访问数据库。

ODBC技术

ODBC(Open Database Connectivity,开放数据库互接)是一种使用SQL的应用程序接口(API)。ODBC最显著的优点就是它生成的程序与数据库系统无关,为程序员方便地编写访问各种DBMS的数据库应用程序提供了一个统一接口,使应用程序和数据库源之间完成数据交换。ODBC的内部结构为4层:应用程序层、驱动程序管理器层、驱动程序层、数据源层。它们之间的关系如图1-5所示。由于ODBC适用于不同的数据库产品,因此许多服务器扩展程序都使用了包含ODBC层的系统结构。

Web服务器通过ODBC数据库驱动程序向数据库系统发出SQL请求,数据库系统接收到的是标准SQL查询语句,并将执行后的查询结果再通过ODBC传回Web服务器,Web服务器将结果以HTML网页传给Web浏览器,工作原理如图1-6所示。

由于Java语言所显示出来的编程优势赢得了众多数据库厂商的支持。在数据库处理方面,Java提供的JDBC为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口。它规定了Java如何与数据库之间交换数据的方法。采用Java和JDBC编写的数据库应用程序具有与平台无关的特性。

ASP、JSP、PHP技术

ASP是Microsoft开发的动态网页技术,主要应用于Windows NT+IIS或 Windows 9x+PWS平台。确切地说ASP不是一种语言,而是Web服务器端的开发环境。利用ASP可以产生和运行动态的、交互的、高性能的Web服务应用程序。ASP支持多种脚本语言,除了VBScript和Pscript,也支持Perl语言,并且可以在同一ASP文件中使用多种脚本语言以发挥各种脚本语言的最大优势。但ASP默认只支持VBScript和Pscript,若要使用其他脚本语言,必须安装相应的脚本引擎。ASP支持在服务器端调用ActiveX组件ADO对象实现对数据库的 *** 作。在具体的应用中,若脚本语言中有访问数据库的请求,可通过ODBC与后台数据库相连,并通过ADO执行访问库的 *** 作。关于ASP的编程技术将会在第7章中详细介绍。

JSP是Sun公司推出的新一代Web开发技术。作为Java家族的一员,几乎可以运行在所有的 *** 作系统平台和Web服务器上,因此JSP的运行平台更为广泛。目前JSP支持的脚本语言只有Java。JSP使用JDBC实现对数据库的访问。目标数据库必须有一个JDBC的驱动程序,即一个从数据库到Java的接口,该接口提供了标准的方法使Java应用程序能够连接到数据库并执行对数据库的 *** 作。JDBC不需要在服务器上创建数据源,通过JDBC、JSP就可以实现SQL语句的执行。

PHP是Rasmus Lerdorf推出的一种跨平台的嵌入式脚本语言,可以在Windows、UNIX、Linux等流行的 *** 作系统和IIS、Apache、Netscape等Web服务器上运行,用户更换平台时,无需变换PHP代码。PHP是通过Internet合作开发的开放源代码软件,它借用了C、Java、Perl语言的语法并结合PHP自身的特性,能够快速写出动态生成页面。PHP可以通过ODBC访问各种数据库,但主要通过函数直接访问数据库。PHP支持目前绝大多数的数据库,提供许多与各类数据库直接互连的函数,包括Sybase、Oracle、SQL Server等,其中与SQL Server数据库互连是最佳组合。

JAVA Web开发中与数据库的连接 *** 作,配置:

1、新建数据库。

新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全。

2、编写context.xml文件 Xml文件的目的是封装用户和密码,也是封装的一种,方便 *** 作。

以下为context.xml文件样例:

<?xml version="1.0" encoding="utf-8"?>

<Context reloadable = "true">

<Resource

name="jdbc/sampleHS"

type="javax.sql.DataSource"

maxActive="14"

maxIdle="10"

username="hstaoshu"

maxWait="5000"

driverClassName="org.postgresql.Driver"

password="hstaoshu"

url="jdbc:postgresql://localhost:5432/hstaoshu"/>

</Context>

详细说明:

name="jdbc/sampleHS"里面的ssampHS是可改名称,建议根据需要自己命名;

username="hstaoshu"

password="hstaoshu"此两项为你新建的数据库登录角色用户名和密码信息,只有匹配 了才能访问。这里简单为了表示,把用户名和密码弄成了跟数据库名字一样。其实这是很不安全的。

url="jdbc:postgresql://localhost:5432/hstaoshu"/>

这是连接数据库的URl,就像访问网站的地址一样。没有这个是无法访问数据库的。localhost:5432表示本地端口。一般不需要改动,如果你在配置数据库的时候改动过端口,那么你需要把它改回来。/hstaoshu是你的数据库名称。

其他选项请勿擅自改动。

3、编写DAO类。

DAO类的作用是与数据连接后,对数据库的一些 *** 作的封装。封装的作用。为了更好的数据管理。

DAO是真正如何使用数据库的关键步骤,前两步只是部署和配置。

private static InitialContext context = null

private DataSource dataSource = null

//一般把跟数据库的连接放在DAO类的构造函数里,只要被实例化,就能和数据库连接。

public BookDAO() {

try {

if (context == null) {

context = new InitialContext()

}

dataSource = (DataSource) context.lookup("java:comp/env/jdbc/sampleHS")

// 连接数据库,前面在context.xml文件配置里的URl

} catch (NamingException e2) {

e2.printStackTrace()

}

}

public Connection getConnection() {

Connection conn = null

try {

conn = dataSource.getConnection()// 获得数据源的连接对象

} catch (SQLException e) {

e.printStackTrace()

}

return conn

}

做完上面的三步 *** 作,开发环境已经完全和数据库连接OK,可以开始数据库的 *** 作了。一般来说,对数据库的 *** 作语句都是提前封装好的。这样修改起来会对下面的代码影响降到最小。

如下:

// ------------------数据库 *** 作语句代码封装------------------

/* 查看所有图书 */

private static final String SELECT_ALL_SQL = "SELECT * FROM book"

那么在使用的时候只要直接调用:

pstmt = conn.prepareStatement(SELECT_ALL_SQL)

Web前端开发要学习的知识很杂乱,知识范围也很广。不过,所有技术都是围绕着三大基本技术来进行的:HTML、CSS,JavaScript。前端的开发中,在页面的布局时, HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互。

掌握三大技能,还要运用多种开发工具辅助开发。目前我们常用到的有:Dreamweaver,Sublime Text ,HBuilder等。

工具只是解决单个问题,在你更加深入了解这个行业之后,你可能还会用到各种不同的框架,目前有三大框架Angular、React、Vue,除此之外还有Bootstrap、 Fbootstrapp、BootMetro、Gumby、IVORY、Kube等,都是需要慢慢接触的。

另外,做前端开发可能还会运用到SEO、DOM、BOM、Ajax等技能,网站性能优化和服务器端的基础知识也是需要了解的。

学前端可能会很难,但世界上没有学不会的知识,相信自己,努力学下去,一定可以成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9891786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存