加快JDBC设计中JSP访问数据库

js|访问|设计|数据|数据库

    以前,我们已经提到,JSP程序都是模块,并且具有强大的表达-请求(presentation-request)功能。建立一个完美的数据库访问是一个具有挑战的过程,而JDBC接口能够很好地完成这一过程。然而,嵌入于JSP代码中的JDBC代码,与SQL命令嵌入在JDBC一样,可以充分利用JSP的功能,为客户端建立一个整洁而简便的API。为了达到这一目的,我们可以考虑到使用JSP操作来建立数据库接口组件。

 
    完美的JSP设计模式是Model-View-Controller (MVC)。传统三层体系为:Model为程序逻辑和数据;View为查看;以及Controller为请求处理。遵循这一模型,一个JSP程序包含客户端-服务器“对话框”的每一“行”的页面。在一个典型的程序中,你可以看到一个查询页面,一个验证页面,一个数据库插入页面,一个数据库更新页面,等等。

在上一篇的文章中,我们讨论到如何在每一页面中嵌入JDBC,以保证程序的结构更加合理。然而,建立可执行的SQL命令,正如变量通过JDBC命令而传递一样,也有可能会增加程序的复杂性。

JDBC设计的JSP操作
JSP数据库操作的另一方法是,在不使用JDBC的情况下为数据库建立一些操作的集合。使用这种方法,你可以得到两种好处:第一,你可以消除使用JDBC的必要,这就使得很多工作得以简化;第二,你的设计和代码的组织更加合理(比如可读性,灵活性,以及可维护性)。

你仍然需要一些驱动程序,但你首先简化以上的操作。JSP程序中的操作都是一些逻辑块,通常被其它的JSP程序开发者编写和利用,但你可以把它们当成子程序来使用。使用JSP操作的意义是标准化某些功能,以及最大程度地减少嵌入在JSP的Java代码数量。

JSP提供了一套标准扩展的类。通过这些类,你可以通过一个标签管理器器(tag handler)定义一个操作。这里有两个JSP定义的Java接口:Tag接口和BodyTag接口,分别是由TagSupport类和BodyTagSupport类执行。

你可以建立通用JSP用途的一个标签库,并且你也可以执行标签管理器(tag handler)以扩展类的支持。以下是实现这些过程的步骤。

首先,执行一个标签管理器的类:

packagecom.myactions;
 
(import statements go here)
 
public class MyActionTag extends TagSupport {
       ...
       }

接着,编译这段代码,并将类文件放置在程序的类库中。然后,你将需要一个Tag Library Descriptor (TLD)文件,这是一个XML文件,以匹配你的操作名称和相应的标签管理器的类。

<tag>
       <name>MyAction</name>
       <tagclass>com.myactions.MyActionTag</tagclass>
       <bodycontent> (whatever)  </bodycontent>
       <attribute>myData</attribute>
</tag>

</tag>

相关的Trialware

DbUtils (Apache Software Foundation) IBM Informix JDBC Driver (IBM) MySQL Connector/J 3.0 (<?XML:NAMESPACE PREFIX = ST1 />MySQLAB) SQL4X Manager J 2.2 (MacosGuru) Informix Downloads (IBM Red Brick Warehouse 32bit) (Solaris) (IBM) Informix Downloads (IBM Red Brick Warehouse 64bit) (HPUX) (IBM)
 更多Trialware
假设你已经建立一个名为MyAction的操作,这是一个与com.myactions.MyActionTag类匹配的TLD。TLD文件必须位于程序的TLDs路径。

当你从一个JSP页调用操作时,TLD告诉JSP正确的类以使用操作。这就带来极大的方便,而且只需要少量的代码。

但是,从何引入SQL?首先,你需要建立具有连接功能的数据库访问。你可以使用javax接口来完成,而javax可见于JDBC 2.0 Optional工具箱。JDBC 2.0的javax.sql.DataSource类提供了你所需要的连接。

此时,SQL位于什么地方?它在bean中。你可以使用JDBCcreateStatement和PreparedStatement在bean中建立一个方法。将这一方法成为一个公共的Vector,并正确地将你的SQL声明传递到这一方法。

总结
你的数据库bean执行一个嵌入在操作体的SQL语句,你可以传递一个语句给SQL语句,或者使用它来执行一个预先的操作。可以通过标签管理器来执行你的操作。由于JDBC被嵌入于库代码中,你将不能在JSP程序中明确地使用它。

初次使用这种方法会觉得它比JDBC中的嵌入SQL,以及JSP中的嵌入JDBC更加复杂,但是,你建立SQL操作并将它们存放在一个TLD,你只需做一次,在所有的JSP程序中就可以访问这些操作。这就是这种方法的优点。

下一次,我们将会讲述到JSP页和会话(sessions)之间的数据传递。

时间: 2024-09-10 12:14:24

加快JDBC设计中JSP访问数据库的相关文章

表单-关于WEB 开发中jsp访问数据库的问题

问题描述 关于WEB 开发中jsp访问数据库的问题 就如题目所说,我现在在做一个网页,现在写了几个bean ,能够实现读取网页表单中的数据 ,并且把他们写到数据库,下面要做的是,从数据库中读取符合条件的数据,并显示在网页中 符合条件的数据也是由网页输入的.问一下有那个大神会做吗,急!!! 解决方案 会啊,这种问题,只要是程序员都会做吧.你可以放心大胆雇佣一个程序员帮你了. 解决方案二: 你说的是输入输出是在同一个页面是吧 就是说一个页面进去之后表单中就有数据,并且他们可以修改 方法很多,举一个:

在JDBC设计中加速JSP访问数据库

JSP程序都是模块,并且具有强大的表达-请求(presentation-request)功能.建立一个完美的数据库 访问是一个具有挑战的过程,而JDBC接口能够很好地完成这一过程.然而,嵌入于JSP代码中的JDBC代码 ,与SQL命令嵌入在JDBC一样,可以充分利用JSP的功能,为客户端建立一个整洁而简便的API.为了达到 这一目的,我们可以考虑到使用JSP操作来建立数据库接口组件. 完美的JSP设计模式是Model-View-Controller (MVC).传统三层体系为:Model为程序逻

JSP访问数据库的问题整理

js|访问|数据|数据库|问题   一.JSP访问数据库的方法: 1.建立自己的虚拟目录,在虚拟目录下面建立web-inf\lib,web-inf\class,web-inf\jar,各个目录说明如下: web-inf\web.xml 在该文件中配置访问Servlet以及配置一些初始参数,示例如下: <servlet>        <servlet-name>TestServlet</servlet-name>  <!--Servlet名称-->     

实例详细讲解JSP访问数据库的方法

js|访问|数据|数据库 JSP(JavaServer Pages)是由Sun 公司倡导.许多公司参与建立的一种动态网页技术标准.使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面.使用JSP标识(tag)或者小脚本(Scriptlet)来生成页面上的动态内容.生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行. 数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(Java Datab

详细讲解JSP访问数据库的方法

JSP(JavaServer Pages)是由Sun 公司倡导.许多公司参与建立的一种动态网页技术标准.使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面.使用JSP标识(tag)或者小脚本(Scriptlet)来生成页面上的动态内容.生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行. 数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(Java Database Connectiv

加快JDBC中JSP数据库的访问速度

JSP程序都是模块,并且具有强大的表达-请求(divsentation-request)功能. 建立一个完美的数据库访问是一个具有挑战的过程,而JDBC接口能够很好地完成这一过程. 然而,嵌入于JSP代码中的JDBC代码,与SQL命令嵌入在JDBC一样,可以充分利用JSP的功能,为客户端建立一个整洁而简便的API.为了达到这一目的,我们可以考虑到使用JSP操作来建立数据库接口组件. 完美的JSP设计模式是Model-View-Controller (MVC).传统三层体系为:Model为程序逻辑

Spring实战6-利用Spring和JDBC访问数据库

主要内容 定义Spring的数据访问支持 配置数据库资源 使用Spring提供的JDBC模板 写在前面:经过上一篇文章的学习,我们掌握了如何写web应用的控制器层,不过由于只定义了SpitterRepository和SpittleRepository接口,在本地启动该web服务的时候会遇到控制器无法注入对应的bean的错误,因此我决定跳过6~9章,先搞定数据库访问者一章. 在企业级应用开发中不可避免得会涉及到数据持久化层,在数据持久化层的开发过程中,可能遇到很多陷阱.你需要初始化数据库访问框架.

Java访问数据库的速度瓶颈问题的分析及解决

访问|解决|数据|数据库|速度|问题 内容: 速度瓶颈问题的提出 JDBC访问数据库的机制 不同模式的JDBC接口的选择 Java程序中SQL语句格式的优化 软件模型中对数据库访问的设计模式的优化 将深入研究的问题 参考资料 关于作者 FoolsGarden@SMTH 自由Java传道士 2001 年 11 月 速度瓶颈问题的提出 在企业级的Java应用中,访问数据库是一个必备的环节.数据库作为数据资源的集散地,往往位于企业级软件体系的后方,供前方的应用程序访问.在Java技术的体系中,应用程序

Java Web项目中连接Access数据库的配置方法_JSP编程

老师决定期末考试采用access数据库实现增删改查,我认为现在的我已经没有问题了,但是以前都是在JSP页面中连接access数据库,无论是以下的那种方式都进行了连接的练习,但是现在我想让我的项目中的访问access数据库的java代码,封装到DAO中,在DAO中连接数据库,没有和Servlet API有任何的关系.对于大多数人都会优先选择使用ODBC数据源的方式或者是使用绝对路径的方式连接access数据库,但是我个人认为,这样做不太好,如果采用这样的方式,项目做好后,放到他人的服务器上是无法运