仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 396|回复: 8
打印 上一主题 下一主题

[学习教程] JAVA编程:JSTL完成JSP使用程序疾速开辟

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:08:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。js|程序  JSTL是一个已被尺度化的标志库汇合,她撑持迭代、前提、XML文档的剖析,国际化,和使用SQL与数据库交互的功效。JSTL次要包含四个基础部分的标志库:Core,XML,国际化,和对SQL的撑持。因为这篇文章的次要是以个中的SQL部分的使用来疾速懂得JSTL,以是我们这篇文章只先容了Core和SQl标签库的一些基础功效。
  这项手艺复杂并且功效壮大,足以和PHP、ColdFusion一较高低.他在拓展Java的使用范畴方面有充足的才能,这些范畴不但包含年夜型的可再晋级的Web使用程序,关于仅具有复杂主页的Web程序一样没成绩。这同意你在创建站点的时分能够制止那些常常思索的XML的集成和与数据库的毗连。JSTL的关头点就是复杂易用。另有,那就是JSTL是基于JSP构建的,他同意我们利用一切的Java手艺。
  入手下手之前,我们必要弄分明如何才干运转JSTL.因为是基于JSP手艺的,以是我们运转它就必要一个可以编译JSP的容器,这里我们利用收费的JSP容器:TOMCAT(http://jakarta.apache.org/tomcat/index.html).至于怎样安装这个产物已超越了本文所报告的局限。毫无疑问,这个软件产物如今已很提高了,并且关于怎样安装的文档材料也是良多。这里假定您已安装并乐成设置了这个容器,你只需再安装JSTL运转所需文件它能够从这里下载http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html你不必要真实的安装它,只必要将个中的.JAR文件包括到你的使用程序的WEB-INF/lib目次下便可。
  由于我们要在一个撑持尺度SQL的数据库上运转程序,你必要在你的电脑上安装有一个数据库。数据库的范例有很多种,这里我选择了MySql。我之以是选择他的缘故原由在于起首,我们必要展现JSTL关于机关复杂疾速的使用程序范畴所起的感化,同时能和一向在这个范畴处于主导位置的PHP+MySql有所对照;第二点那就是MySql是能够收费下载并包括有一个针对JAVA的JDBC驱动.总之,为了利用上面的例子,你必要下载一个MYSQL服务器(http://www.mysql.com/products/mysql/index.html;MySqlConnector/JJDBC驱动程序http://www.mysql.com/products/connector-j/index.html;另有就是MySqlcontrolcenterhttp://www.mysql.com/products/connector-j/index.html),这个产物可让你十分简单的操纵办理Mysql数据库文件。全体下载完成后,你必要安装mysql和mysqlControlCenter。别的另有就是mysql的JDBC驱动必要放到你的web使用程序中的/Web-INF/lib目次中。
  在创立程序代码之前,你必要创立并填写数据库表。关于这方面的主题文章也相称普遍,详细怎样操纵超越了本文的局限。这里我保举给你我们下面说起的一个可视化的办理工具MySQLControlCenter.你能够用他来创立一个用来运转程序的测试用户,数据库和创立一个测试表,并填写多少纪录。关于上岸名及暗码数据库称号这些设置情况参数,你应当记着他们,稍后必要使用到我们的代码中。
  如今,你就能够筹办创立本人的第一个JSTL使用程序了它必要我们做上面一些事变:
  全部实例程序代码包含两个文件Hello.jsp和Continue.jsp
  Hello.jsp文件同意你输出数据库称号、上岸称号、上岸暗码、数据库表名。Continue.jsp:承受Hello.jsp中的数据信息而且毗连数据库,并对数据库中的表实行一个Select哀求.
  上面是这个体系一切的代码文件,我将一一举行注释。这些代码相称复杂,关于代码的布局,我信任你即便没有我的注释你也能了解的.
  1:<!--Hello.jsp-->
  2:<html>
  3:<head>
  4:<title>Hello</title>
  5:</head>
  6:<bodybgcolor="#ffffff">
  7:<h1>Please,enterallnecessaryinformationandclickOK.</h1>
  8:<formmethod="post"action="Continue.jsp">
  9:<br>Yourlogintodatabase:
  <inputtype="text"name="login"size="15">
  10:<br>Yourpasswordtodatabase:
  <inputtype="password"name="password"size="15">
  11:<br>Yourdatabasename:
  <inputtype="text"name="database"size="15">
  12:<br>Yourdatabasetable:
  <inputtype="text"name="table"size="15">
  13:<br><br><inputtype="submit"name="submit"value="OK">
  14:</form>
  15:</body>
  16:</html>
  (请注重文本左边的数字只是为你供应一些标志信息,你不必要将他们输出到你的代码文件中。)
  下面就是一切Hello.jsp的源代码,很惊异吧,他仅仅是地道的HTML代码,就这么复杂,我想应当没有正文的需要了.我之以是将这些代码片断包括进文章中就是为了展现一下JSTL集成到那些必要疾速扩大分外功效的HTML站点中是何等的复杂.让我再为你展现一下Continue.jsp的全体代码,看过以后,你就会对JSTL有些懂得了。
  1:<!--Continue.jsp-->
  2:<%@taglibprefix="c"uri="http://java.sun.com/jstl/core"%>
  3:<@taglibprefix="sql"uri="http://java.sun.com/jstl/sql"%>
  4:<c:setvar="h"value="localhost"/>
  5:<c:setvar="l"value="${param.login}"/>
  6:<c:setvar="p"value="${param.password}"/>
  7:<c:setvar="d"value="${param.database}"/>
  8:<c:setvar="t"value="${param.table}"/>
  9:<html>
  10:<head>
  11:<title>Continue</title>
  12:</head>
  13:<bodybgcolor="#ffffff">
  14:<sql:setDataSourcedriver="com.mysql.jdbc.Driver"
  url="jdbc:mysql://${l}/${d}?user=${u}&password=${p}"/>
  15:<sql:queryvar="result">
  16:SELECT*FROM<c:outvalue="${t}"/>
  17:</sql:query>
  18:<c:forEachvar="row"items="${result.rowsByIndex}">
  19:<c:outvalue="${row[0]}"/><br>
  20:</c:forEach>
  21:</body>
  22:</html>
  (请注重文本左边的数字只是为你供应一些标志信息,你不必要将他们输出到你的代码文件中。)
  这就是我们一切的代码了,是否是十分不错?如今我门来注释一下下面这些代码的感化。
  行1是HTML的正文申明。
  行2--3这些JSP标签是为了援用内部的标签库,更切实的说这里是援用了JSTL库中的Core和SQL标签库部分。我们为他们都设置了前缀称号,以便于我们经由过程这些前缀称号会见被引进的标签库中的功效办法。
  行4---8正如Hello.jsp真正运转的模样,他将哀求continue.jsp,Continue.jsp取得哀求后就必要失掉并剖析来自Hello.jsp的多少变量,我们利用了如许的体例${param.YOUR_VAR}。在第4行<c:set标签,将变量${h}设置为"localhost",第五行变量${l}将猎取我们在Hello.jsp中的login文本域中输出的信息,第6,7,8行的变量将分离取得来自Hello.jsp顶用户所输出的暗码,数据库称号,数据表称号。
  行9--13是一些我常常用来罕见HTML网页头的复杂的HTML标签,即刻,主要的功效即刻要到了。
  行14,我们试图用我们先前取得的mysql驱动程序(com.mysql.jdbc.Driver)创建数据库毗连,在URL中,我们指明数据库毗连所必要的参数,象数据库称号,主机称号,上岸名及上岸暗码。依此,我们能够用别的任何的JDBC驱动程序毗连其绝对的数据库。假如我们必要毗连其他的SQL数据库,只需变动这个URL就够了。
  行15--17这里我们实行了一个Select查询,请出格注重第16行,我们利用了另外一个JSTL功效函数<c:out用来输入我们所猎取的数据表称号,这里我们一样可使用其他的SQL命令,好比说INSERT,DELETE,等等。要实行这些没有前往值的查询哀求,你就必要利用<sql:updateJSTL功效函数了。他能够间接实行他们就象<SQL:query一样,只是实行它是不必要出格指定了局变量来存储语句实行前往的了局。
  行18--20既然我们实行了下面的SELECT查询语句,我们就应当把他的前往了局显现出来。<c:forEach就是JSTL中一个具有迭代功效的函数,实行它时,我们经由过程${result.rowsByIndex}将前往的每个数据行信息前往给变量${row},紧接着在第19行,我们经由过程<c:outvalue="${row[0]}"/>显现前往的每一个数据行的第一个数据列中的值。只需你的数据表中包括的字段,你都能够经由过程改动变量${row}中的数字巨细来对哀求表中的恣意一个字段中的值对他们举行会见。
  行21--22是HTML页脚
  在你亲身创立JSTL使用程序过程当中,大概你还没有发明它有何等的壮大,但你应当可以意想到JSTL的功效函数的复杂和高效性,试想有了JSTL,整合出一个基于SQL的旧事专栏是多么的疾速,集成你现有的web站点是多么的简单。
  很好,我们的代码很简单了解的,即便一个非专业程序员的话,打个例如就算是一个计划师也可以读懂它,了解它,还大概举行部分的修正,最少是页面结构上的修正。
  正如我们入手下手的时分所提到的,为了使我们的JSTL代码一般的运转,我们必要安装MysqlConnector/J中的JAR文件,固然另有JSTL。由于我们利用了Tomcat这个JSp容器,你必要在Tomcat的文件目次Webapps下创立你本人的文件夹,将你的Hello.jsp、Continue.jsp文件放在你创立的文件目次中,在你创立的目次中你还要创立一个叫做WEB-INF的文件夹,将你的设置文件Web.xml放在内里,web.xml文件以下:
  <?xmlversion="1.0"encoding="UTF-8"?>
  <!DOCTYPEweb-app
  PUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.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(注重,这个称号根据你的MysqlConnector/J版本分歧大概会有所变更)

什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。
乐观 该用户已被删除
沙发
发表于 2015-1-19 19:27:43 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-24 15:33:40 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
精灵巫婆 该用户已被删除
地板
发表于 2015-1-27 10:31:15 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
只想知道 该用户已被删除
5#
发表于 2015-2-11 04:35:39 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
谁可相欹 该用户已被删除
6#
发表于 2015-3-1 21:06:43 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
活着的死人 该用户已被删除
7#
发表于 2015-3-10 23:46:55 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
不帅 该用户已被删除
8#
发表于 2015-3-17 16:09:22 | 只看该作者
是一种为 Internet发展的计算机语言
小女巫 该用户已被删除
9#
发表于 2015-3-24 11:15:30 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 08:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表