【Jsp精品源码栏目提醒】:网学会员在Jsp精品源码频道为大家收集整理了“【精品】用JSTL实现JSP应用程序快速开发 - 其它论文“提供大家参考,希望对大家有所帮助!
用JSTL实现
JSP应用程序快速开发作者未知 来源
网络 日期2005-7-28 在这篇文章中我将为大家介绍一种基于
JSP且灵活有趣的技术那就是JSTL.JSTL全称为Java Server Pages Standard Tag Library.虽然
JSP已经变的非常流行但JSTL在基于SQL数据库的简单、快速的前后台开发中还是没有被广泛的应用。
一旦你了解了JSTL你就会了解到它的优点并发现在你作为程序员的日常工作中它已经被应用到了很多方面。
我这里假设你已经熟悉HTML能理解基本的SQL语句和
Jsp的基础知识。
因为下面的内容要涉及到这些知识。
JSTL是一个已经被标准化的标记库集合她支持迭代、条件、XML文档的解析国际化和利用SQL与数据库交互的功能。
起初JSTL规范一直由JCPJava Community process program组织下的JSR 52 发展完善JCP肩负着Java 技术发展的重任--官方网站这样评价。
JCP作为一个开放性的组织他同时吸收正式的
会员和非正式会员.JCP对于
Java技术规范的形成与发展发挥了重要的主导作用。
JSTL主要包括四个基本部分的标记库CoreXML国际化和对SQL的支持。
由于这篇文章的主要是以其中的SQL部分的应用来快速了解JSTL所以我们这篇文章只介绍了 Core和SQl标签库的一些基本功能。
这项技术简单而且功能强大足以和PHP、ColdFusion一较高下.他在拓展Java的应用领域方面有足够的能力这些领域不只包括大型的可再升级的Web应用程序对于仅拥有简单主页的Web程序一样没
问题。
这允许你在建立站点的时候可以避免那些经常考虑的XML的集成和与数据库的连接。
正如我刚才提到的一样JSTL的关键点就是简单易用。
还有那就是JSTL是基于
JSP构建的 他允许我们使用所有的Java技术这一点我们有必要记住。
开始之前我们需要弄清楚怎样才能运行JSTL.由于是基于
JSP技术的所以我们运行它就需要一个能够编译
JSP的容器这里我们使用免费的
JSP容器TOMCAThttp://jakarta.apache.org/tomcat/index.html.至于如何安装这个产品已经超出了本文所讲述的范围。
毫无疑问这个
软件产品现在已经很普及了而且关于如何安装的
文档资料也是很多。
这里假设您已经安装并成功配置了这个容器你只需再安装JSTL运行所需文件即可它可以从这里下载http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html你不需要真正的安装它只需要将其中的.JAR文件包含到你的应用程序的WEB-INF/lib目录下即可稍后我会具体说到该怎么做. 因为我们要在一个支持标准SQL的数据库上运行程序你需要在你的电脑上安装有一个数据库。
数据库的类型有许多种这里我选择了MySql。
我之所以选择他的原因在于首先我们需要展示JSTL对于构造简单快速的应用程序领域所起的作用同时能和一直在这个领域处于主导地位的
PHPMySql有所比较第二点那就是MySql是可以
免费下载并包含有一个针对JAVA的JDBC驱动.总之为了使用下面的例子你需要下载一个MYSQL服务器http://www.mysql.com/products/mysql/index.html MySql Connector/J JDBC驱动程序http://www.mysql.com/products/connector-j/index.html还有就是MySql control center http://www.mysql.com/products/connector-j/index.html这个产品可以让你非常容易的操作管理Mysql数据库文件。
全部下载完成后你需要安装mysql和mysql Control Center。
另外还有就是
mysql的JDBC驱动需要放到你的web应用
程序中的/Web-INF/lib目录中。
在创建程序代码之前你需要创建并填写数据库表。
关于这方面的主题文章也相当广泛具体如何操作超出了本文的范围。
这里我推荐给你我们上面提及的一个可视化的管理工具 MySQL Control Center.你可以用他来创建一个用来运行程序的测试用户数据库以及创建一个测试表并填写若干记录。
关于登陆名及密码 数据库名称这些配置环境参数你应该记住他们稍后需要应用到我们的代码中。
现在你就可以准备创建自己的第一个JSTL应用程序了它需要我们做下面一些事情 整个实例程序代码包括两个文件Hello.
jsp和 Continue.
jsp Hello.
jsp文件允许你输入数据库名称、登陆名称、
登陆密码、数据库表名。
Continue.
jsp接受Hello.
jsp中的数据信息并且连接数据库并对数据库中的表执行一个Select请求. 下面是这个
系统所有的代码文件我将逐一进行解释。
这些代码相当简单对于代码的结构我相信你即使没有我的解释你也能理解的. 1: -- Hello.
jsp -- 2: html 3: head 4: titleHello/title 5: /head 6: body bgcolorffffff 7: h1Please enter all necessary information and click OK./h1 8: form methodpost actionContinue.
jsp 9: brYour login to database: input typetext namelogin size15 10: brYour password to database: input typepassword namepass
word size15 11: brYour database name: input typetext namedatabase size15 12: brYour database table: input typetext nametable size15 13: brbrinput typesubmit namesubmit value OK 14: /form 15: /body 16: /html 请注意文本左侧的数字只是为你提供一些标记信息你不需要将他们输入到你的代码文件中。
上面就是所有Hello.
jsp的
源代码很惊奇吧他仅仅是纯粹的HTML代码就这么简单我想应该没有注释的必要了.我之所以将这些代码片段包含进文章中就是为了展示一下JSTL集成到那些需要快速扩充额外功能的HTML站点中是多么的简单.让我再为你展示一下Continue.
jsp的全部代码看过之后你就会对 JSTL有些了解了。
1: -- Continue.
jsp -- 2: taglib prefixc urihttp://java.sun.com/jstl/core 3: taglib prefixsql urihttp://java.sun.com/jstl/sql 4: c:set varh valuelocalhost/ 5: c:set varl valueparam.login/ 6: c:set varp valueparam.password/ 7: c:set vard valueparam.database/ 8: c:set vart valueparam.table/ 9: html 10: head 11: titleContinue/title 12: /head 13: body bgcolorffffff 14: sql:setDataSource drivercom.my
sql.jdbc.Driver urljdbc:mysql://l/duserupasswordp/ 15: sql:query varresult 16: SELECT FROM c:out valuet/ 17: /sql:query 18: c:forEach varrow itemsresult.rowsByIndex 19: c:out valuerow0/ br 20: /c:forEach 21: /body 22: /html 请注意文本左侧的数字只是为你提供一些标记信息你不需要将他们输入到你的代码文件中。
这就是我们所有的代码了是不是非常不错现在我门来解释一下上面这些代码的作用。
行1 是
HTML 的注释说明。
行2--3 这些
JSP 标签是为了引用外部的 标签库更确切的说这里是引用了JSTL库中的 Core 和SQL标签库部分。
我们为他们都设置了前缀名称以便于我们通过这些前缀名称访问被引入的标签库中的功能方法。
行4---8正如 Hello.
jsp 真正运行的样子他将请求continue.jspContinue.
jsp获得请求后就需要得到并解析来自Hello.
jsp的若干变量我们使用了这样的方式param.YOUR_VAR。
在第4行c:set标签将变量h设置为 localhost第五行变量l将获取我们在 Hello.
jsp中的login文本域中输入的信息第678行的变量将分别获得来自Hello.
jsp中用户所输入的密码数据库名称数据表名称。
行9--13是一些我经
常用来常见HTML网页头的简单的HTML标签马上重要的功能马上要到了。
行14我们试图用我们先前获得的mysql驱动程序com.mysql.jdbc.Driver建立数据库连接在URL中我们指明数据库连接所需要的参数象数据库名称主机名称登陆名及登陆密码。
依此我们可以用其它任何的JDBC驱动程序连接其相对的数据库。
如果我们需要连接其他的SQL数据库只需更改这个 URL就够了。
行15--17 这里我们执行了一个Select 查询请特别注意第16行我们使用了另一个JSTL功能函数c:out 用来输出我们所获取的数据表名称这里我们同样可以使用其他的SQL命令比如说 INSERTDELETE等等。
要执行这些没有返回值的
查询请求你就需要使用sql:update JSTL功能函数了。
他可以直接执行他们就象SQL:query一样只是执行它是不需要特别指定结果变量来存储语句执行返回的结果。
行18--20 既然我们执行了上面的SELECT查询语句我们就应该把他的返回结果显示出来。
c:forEach 就是JSTL 中一个具有迭代功能的函数执行它时我们通过result.rowsByIndex将返回的每一个数据行信息返回给变量row紧接着在第19行 我们通过c:out valuerow0/显示返回的每个数据行的第一个数据列中的值。
只要你的数据表中包含的字段你都可以通过改变变量 row中的数字大小来对请求表中的任意一个字段中的值对他们进行访问。
行21--22是HTML 页脚 在你亲自创建JSTL应用程序过程中可能你还没有发现它有多么的强大但你应该能够意识到JSTL的功能函数的简单和高效性试想有了JSTL整合出一个基于SQL的新闻专栏是何等的快速集成你现有的web站点是何等的容易。
很好我们的代码很容易理解的即使一个非专业程序员的话打个比方就算是一个
设计师也能够读懂它理解它还可能进行部分的修改起码是页面布局上的修改。
正如我们开始的时候所提到的为了使我们的JSTL代码正常的运行我们需要安装Mysql Connector/J 中的JAR 文件当然还有 JSTL。
因为我们使用了Tomcat这个
JSp 容器你需要在Tomcat的文件目录Webapps下创建你自己的文件夹将你的Hello.
jsp 、Continue.
jsp文件放在你创建的文件目录中在你创建的目录中你还要创建一个叫做WEB-INF 的文件夹将你的配置文件Web.xml放在里面web.
xml文件如下 xml version1.0 encodingUTF-8 DOCTYPE
web-app PUBLIC -//Sun Microsystems Inc.//DTD Web Application 2.3//EN http://java.sun.com/dtd/web-app_2_3.dtd web-app / 接下来我们还需要在WEB-INF下创建一个叫做lib的子目并将下列文件放进去 jstl.jar saxpath.jar standard.jar mysql-connector-java-3.0.9-stable-bin.jar 注意这个名称依据你的Mysql Connector/J版本不同可能会有所变化 所有的这些信息您能够在JSTL或Tomcat手册中查阅的到如果你想理解他们具体是如何运行而又为什么这么运行你就应该研读一下这些手册。
不过为了帮助你快速的掌握JSTL的基本操作相关的知识我已经作了介绍。
如果你使用的是其他的
Jsp 容器那么就需要你阅读他们相关的手册资料。
罗罗索索这么多我还想再说明一点这篇文章只是对JSTL技术的基本的介绍并不是完全手册。
JSTL中包含有许多功能丰富的函数用法来帮助你以简捷快速的方式完成你的
Jsp开发我建议大家读一些有关JSTL功能以及它如何与JavaBeans协同
工作的更详细的
文档资料到最终你可能会发现他就是你期待已久的开发平台。
通过阅读本篇文章你应该已经能够创建一些简单的基于SQL 数据库的前后台应用了。