文档库 最新最全的文档下载
当前位置:文档库 › jstl教程

jstl教程

jstl教程
jstl教程

JSTL详解

EL 表达式

作者:不详文章来源:https://www.wendangku.net/doc/d6621989.html,/nbtymm/archive/2007/01/18/94599.aspx 上传日

期:2007-01-19

概述

在JSP页面中,使用标签库代替传统的Java片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现。鉴于此,出现了JSTL(JSP Standard Tag Library),为大多数JSP页面逻辑提供了实现的JSTL技术,该技术本身就是一个标签库。

Sun公司Java规范标准的JSTL由apache jakarta组织负责维护。作为开源的标准技术,它一直在不断地完善。JSTL的发布包有两个版本:Standard-1.0 Taglib、Standard-1.1 Taglib,它们在使用时是不同的。

? Standard-1.0 Taglib(JSTL1.0)支持Servlet2.3和JSP1.2规范,Web应用服务器Tomcat4支持这些规范,而它的发布也在Tomcat 4.1.24测试通过了。

?Standard-1.1 Taglib(JSTL1.1)支持Servlet2.4和JSP2.0规范,Web应用服务器Tomcat5支持这些规范,它的发布在Tomcat 5.0.3测试通过了。

在本章的介绍中,将以由Sun发布的Standard-1.1 Taglib标签库为主,而apache jakarta组织发布的开源标签库,可以从https://www.wendangku.net/doc/d6621989.html,/taglibs/找到所需要的帮助。Sun发布的标准JSTL1.1标签库有以下几个标签:

?核心标签库:包含Web应用的常见工作,比如:循环、表达式赋值、基本输入输出等。

?国际化标签库:用来格式化显示数据的工作,比如:对不同区域的日期格式化等。

?数据库标签库:可以做访问数据库的工作。

?XML标签库:用来访问XML文件的工作,这是JSTL标签库的一个特点。

?函数标签库:用来读取已经定义的某个函数。

此外,JSTL还提供了EL表达式语言(Expression Language)来进行辅助的工作。

JSTL标签库由标签库和EL表达式语言两个部分组成。EL在JSTL 1.0规范中被引入,当时用来作为Java表达式来工作,而该表达式必须配合JSTL的标签库才能得到需要的结果。

说明:在JSTL 1.1规范中,JSP2.0容器已经能够独立的理解任何EL表达式。EL可以独立出现在JSP 页面的任何角落。本文随后的内容将以JSTL 1.1规范作为介绍的重点。

9.2.1 JSTL EL 表达式语言简介

EL是从JavaScript脚本语言得到启发的一种表达式语言,它借鉴了JavaScript多类型转换无关性

的特点。在使用EL从scope中得到参数时可以自动转换类型,因此对于类型的限制更加宽松。Web服务器对于request请求参数通常会以String类型来发送,在得到时使用的Java语言脚本就应该是request.getParameter(“XXX”),这样的话,对于实际应用还必须进行强制类型转换。而EL就将用户从这种类型转换的繁琐工作脱离出来,允许用户直接使用EL表达式取得的值,而不用关心它是什么类型。

下面的示例就是一个EL表达式,见例9.1。

例9.1:简单EL表达式

<%@ page contentType="text/html; charset=UTF-8"%>

${sampleValue + 1}

这个示例将在JSP页面显示为“1”,EL表达式必须以“${XXX}”来表示,其中“XXX”部分就是具体表达式内容,“${}”将这个表达式内容包含在其中作为EL表达式的定义。本示例可以在满足JSP2.0规范的任何Web应用服务器中使用。

9.2.2 EL 表达式的默认变量

一个EL表达式包含变量和操作符两个内容。任何存在于JSP作用范围的JavaBean都可以被转化成EL表达式来使用,它所包含的默认变量如下:

1.默认变量pageScope、requestScope、sessionScope、applicationScope

这4个默认变量包含Scope作用范围的参数集合,相当于被保存在java.util.Map中的某个参数。下面看简单的示例9.2:

例9.2:使用sessionScope变量的EL表达式

<%request.getSession().setAttribute("sampleValue", new Integer(10));%>

${sessionScope.sampleValue}

取得保存在Session中参数的sessionScope变量的EL表达式,“.”是property访问操作符,在这里表示从Session中取得“键”为“sampleValue”的参数,并显示出来。显示结果为“10”。

2.默认变量param、paramValues

这两个默认变量包含请求参数的集合,param表明请求包含的参数为单一控件,paramValues表明请求包含的参数为控件数组。下面看一个简单示例9.3:

例9.3:提交请求的页面和接受的页面

<%@ page contentType="text/html; charset=UTF-8"%>

在这个页面中定义了两组控件,控件名为“sampleValue”的是一套控件数组,控件名为“sampleSingleValue”的是单一控件,通过递交将请求参数传送到SampleJsp.jsp。

<%@ page contentType="text/html; charset=UTF-8"%>

${paramValues.sampleValue[2]}

${param.sampleSingleValue}

这是请求转发到的页面,通过EL表达式的paramValues变量得到控件数组中最后一个控件的递交参数,通过EL表达式的param变量得到单一控件的递交参数。控件数组参数的EL表达式使用“[]”来指定数组下标。本示例将显示控件数组中最后一个控件的值“12”和单一控件的值“SingleValue”。

3.默认变量header、headerValues

这两个默认变量包含请求参数头部信息的集合,header变量表示单一头部信息,headerValues则表示数组型的头部信息。

4.默认变量cookie

包含所有请求的cookie集合,集合中的每个对象对应javax.servlet.http.Cookie。

5.默认变量initParam

包含所有应用程序初始化参数的集合。

6.默认变量pageContext

等价于page环境类javax.servlet.jsp.PageContext的实例,用来提供访问不同的请求参数。

11个默认变量几乎包含了Web应用的所有基本操作,若一个表达式不使用这些变量而直接使用参数名,那么就采用就近原则。该表达式将使用最近取得的参数值。

标签库介绍

作者:nbtymm 文章来源:https://www.wendangku.net/doc/d6621989.html,/nbtymm/archive/2007/01/18/94562.html 上传日

期:2007-01-19

表达式的操作符

EL表达式中还有许多操作符可以帮助完成各种所需的操作,之前的示例中“.”、“[]”就是其中的两个,下面将用表9.1来展示所有操作符及它们各自的功能。

表9.1 EL表达式的操作符

这些操作符都是极其有用的,下面通过几个示例来演示它们的使用方法:

例9.4:几组操作符的示例

${pageScope.sampleValue + 12}
//显示12

${(pageScope.sampleValue + 12)/3}
//显示4.0

${(pageScope.sampleValue + 12) /3==4}
//显示true

${(pageScope.sampleValue + 12) /3>=5}
//显示false

//显示值为10的

Text控件

可以看到,对于这些示例,程序设计者完全无需管理它们的类型转换,在表达式内部都已经处理了。有了EL表达式,在JSP页面的编程变得更灵活,也更容易。

标签库介绍

在JSTL1.1中有以下这些标签库是被支持的:Core标签库、XML processing标签库、I18N formatting 标签库、Database access标签库、Functions标签库。对应的标识符见表9.2所示:

表9.2 标签库的标识符

下面看例9.5,简单使用标签库的示例。

例9.5:简单JSTL标签库示例

<%@ page contentType="text/html; charset=UTF-8"%>

<%@ taglib prefix="c" uri="https://www.wendangku.net/doc/d6621989.html,/jsp/jstl/core" %>

${i}


在该示例的JSP页面中声明了将使用Core标签库,它的URI为

“https://www.wendangku.net/doc/d6621989.html,/jsp/jstl/core”,前缀为“c”。之后,页面中标签就是使用了JSTL的标签进行了工作。对于该标签的功能,这里暂时不作具体讲解,只是让读者能够有个简单的概念,了解怎样定义和使用标签库。

标签库

Core标签库,又被称为核心标签库,该标签库的工作是对于JSP页面一般处理的封装。在该标签库中的标签一共有14个,被分为了四类,分别是:

?多用途核心标签:

?条件控制标签:

?循环控制标签:

URL相关标签:

以下是各个标签的用途和属性以及简单示例。

用于显示的标签

标签是一个最常用的标签,用于在JSP中显示数据。它的属性和描述如表9.3所示:

表9.3标签属性和说明

在JSTL1.0的时候,在页面显示数据必须使用来进行。然而,在JSTL1.1中,由于JSP2.0规范已经默认支持了EL表达式,因此可以直接在JSP页面使用表达式。下面看一个示例。

该示例将从Session查找名为“anyValue”的参数,并显示在页面,若没有找到则显示“no value”。

标签

作者:nbtymm 文章来源:https://www.wendangku.net/doc/d6621989.html,/nbtymm/archive/2007/01/18/94593.html 上传日

期:2007-01-19

用于赋值的标签

标签用于为变量或JavaBean中的变量属性赋值的工作。

它的属性和描述如表9.4所示:

表9.4标签属性和说明

当不存在value的属性时,将以包含在标签内的实体数据作为赋值的内容。

下面看一个示例:

${oneString}

该示例将为名为“oneString”的变量赋值为“this is andy”,其作用范围为page。

9.3.3 用于删除的标签

标签用于删除存在于scope中的变量。它的属性和描述如表9.5所示:

表9.5标签属性和说明

下面看一个示例:

${sessionScope.sampleValue}

该示例将存在于Session中名为“sampleValue”的变量删除。下一句EL表达式显示该变量时,该变量已经不存在了。

9.3.4 用于异常捕获的标签

标签允许在JSP页面中捕捉异常。它包含一个var属性,是一个描述异常的变量,改变量可选。若没有var属性的定义,那么仅仅捕捉异常而不做任何事情,若定义了var属性,则可以利用var所定义的异常变量进行判断转发到其他页面或提示报错信息。看一个示例。

${param.sampleSingleValue[9] == 3}

${err}

当“${param.sampleSingleValue[9] == 3}”表达式有异常时,可以从var属性“err”得到异常的内容,通常判断“err”是否为null来决定错误信息的提示。

9.3.5 用于判断的标签

标签用于简单的条件语句。它的属性和描述如表9.6所示:

表9.6标签属性和说明

下面看一个示例:

It is 12


${visits}

该示例将判断request请求提交的传入控件数组参数中,下标为“2”的控件内容是否为“12”,若为12则显示“It is 12”。判断结果被保存在page范围中的“visits”变量中。

9.3.6 用于复杂判断的标签

这三个标签用于实现复杂条件判断语句,类似“if,elseif”的条件语句。

? 标签没有属性,可以被认为是父标签, 将作为其

子标签来使用。

? 标签等价于“if ”语句,它包含一个test 属性,该属性表示需要判断的条件。

? 标签没有属性,它等价于“else ”语句。

下面看一个复杂条件语句的示例。

not 12 not 13,it is 11

not 11 not 13,it is 12

not 11 not 12,it is 13

not 11 、12、13

该示例将判断request请求提交的传入控件数组参数中,下标为“2”控件内容是否为“11”或“12”或“13”,并根据判断结果显示各自的语句,若都不是则显示“not 11 、12、13”。

9.3.7 用于循环的标签

为循环控制标签。它的属性和描述如表9.7所示:

表9.7标签属性和说明

下面看一个集合循环的示例。

<%ArrayList arrayList = new ArrayList();

arrayList.add("aa");

arrayList.add("bb");

arrayList.add("cc");

%>

<%request.getSession().setAttribute("arrayList", arrayList);%>

${arrayListI}

该示例将保存在Session中的名为“arrayList”的ArrayList类型集合参数中的对象依次读取出来,items属性指向了ArrayList类型集合参数,var属性定义了一个新的变量来接收集合中的对象。最后直接通过EL表达式显示在页面上。下面看一个简单循环的示例。

${i}

该示例从“1”循环到“10”,并将循环中变量“i”显示在页面上。

9.3.8 用于分隔字符的标签

标签可以根据某个分隔符分隔指定字符串,相当于java.util.StringTokenizer类。它的属性和描述如表9.8所示:

表9.8标签属性和说明

下面看一个示例。

${aValue}

需要分隔的字符串为“aa,bb,cc,dd”,分隔符为“,”。begin属性指定从第一个“,”开始分隔,end属性指定分隔到第三个“,”,并将做循环的变量名指定为“aValue”。由于步长为“2”,使用EL表达式${aValue}只能显示“aa,cc

标签

作者:nbtymn 文章来源:https://www.wendangku.net/doc/d6621989.html,/nbtymm/ 上传日期:2007-01-20

9.3.9 用于包含页面的

标签允许包含另一个JSP页面到本页面来。它的属性和描述如表9.9所示:

表9.9标签属性和说明

下面看一个示例。

该示例演示了三种不同的导入方法,第一种是在同一Context 下的导入,第二种是在不同的Context 下导入,第三种是导入任意一个URL 。

9.3.10 用于得到URL地址的标签

标签用于得到一个URL 地址。它的属性和描述如表9.10 所示:

表9.10 标签属性和说明

下面看一个示例:

link

得到了一个URL 后,以EL 表达式放入 标签的href 属性,达到链接的目的。

9.3.11 用于页面重定向的标签

用于页面的重定向,该标签的作用相当于response.setRedirect 方法的工作。它包含url 和context 两个属性,属性含义和 标签相同。下面看一个示例。

该示例若出现在JSP 中,则将重定向到当前Web Context 下的“MyHtml.html ”页面,一般会与 等标签一起使用。

9.3.12 用于包含传递参数的标签

用来为包含或重定向的页面传递参数。它的属性和描述如表9.11 所示:

表9.11标签属性和说明

下面是一个示例:

该示例将为重定向的“MyHtml.jsp ”传递指定参数“userName=’RW’ ”。

9.4 JSTL XML processing标签库

在企业级应用越来越依赖XML 的今天,XML 格式的数据被作为信息交换的优先选择。XML processing 标签库为程序设计者提供了基本的对XML 格式文件的操作。在该标签库中的标签一共有10 个,被分为了三类,分别是:

?XML 核心标签:

?XML 流控制标签:

?XML 转换标签:

由于该组标签库专注于对某一特定领域的实现,因此本书将只选择其中常见的一些标签和属性进行介绍。

9.4.1 用于解析XML文件的标签

标签是该组标签库的核心,从其标签名就可以知道,它是作为解析XML 文件而存在的。它的属性和描述如表9.12 所示:

表9.12标签属性和说明

其中,var 、scope 和varDom 、scopeDom 不应该同时出现,而应该被视为两个版本来使用,

二者的变量都可以被XML processing 标签库的其他标签来使用。

标签单独使用的情况很少,一般会结合XML processing 标签库中的其他标签来一起工作。

下面看一个示例。

首先给出一个简单的XML 文件,将对该XML 文件做解析,该XML 文件名为SampleXml.xml 。

RW

123456

28

book1

book2

book3

标签库的工作:

标签

作者:nbtymm 文章来源:https://www.wendangku.net/doc/d6621989.html,/nbtymm/archive/2007/01/18/94653.html 上传日

期:2007-01-20

看到I18N就应该想到知识“国际化”,I18N formatting标签库就是用于在JSP页面中做国际化的动作。在该标签库中的标签一共有12个,被分为了两类,分别是:

国际化核心标签:

格式化标签:

下面只选择其中常见的一些标签和属性进行介绍。

9.5.1 用于设置本地化环境的标签

标签用于设置Locale环境。它的属性和描述如表9.17所示:

表9.17标签属性和说明

下面看一个示例:

表示设置本地环境为繁体中文。

9.5.2 用于资源文件绑定的标签

这两组标签用于资源配置文件的绑定,唯一不同的是标签将资源配置文件绑定于它标签体中的显示,标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行。

根据Locale环境的不同将查找不同后缀的资源配置文件,这点在国际化的任何技术上都是一致的,通常来说,这两种标签单独使用是没有意义的,它们都会与I18N formatting标签库中的其他标签配合使用。它们的属性和描述如表9.18所示:

表9.18标签属性和说明

下面看一个示例

该示例将会查找一个名为applicationMessage_zh_CN.properties的资源配置文件,来作为显示的Resource绑定。

9.5.3 用于显示资源配置文件信息的标签

用于信息显示的标签,将显示资源配置文件中定义的信息。它的属性和描述如表9.19所示:

表9.19标签属性和说明

下面看一个示例:

该示例使用了两种资源配置文件的绑定的做法,“ applicationMessage”资源配置文件利用标签被赋于了变量“ applicationBundle”,而作为标签定义的“ applicationAllMessage”资源配置文件作用于其标签体内的显示。

q 第一个标签将使用“ applicationAllMessage”资源配置文件中“键”为“ userName”的信息显示。

q 第二个标签虽然被定义在标签体内,但是它使用了bundle属性,因此将指定之前由标签保存的“ applicationMessage”资源配置文件,该“键”为“ passWord”的信息显示。

9.5.4 用于参数传递的标签

标签应该位于标签内,将为该消息标签提供参数值。它只有一个属性value。标签有两种使用版本,一种是直接将参数值写在value属性中,另一种是将参数值写在标签体内。

9.5.6 用于为请求设置字符编码的标签

标签用于为请求设置字符编码。它只有一个属性value,在该属性中可以定义字符编码。

9.5.7 用于设定时区的标签

这两组标签都用于设定一个时区。唯一不同的是标签将使得在其标签体内的工作可以使用该时区设置,标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行。它们的属性和描述如表9.20所示:

表9.20标签属性和说明

9.5.8 用于格式化数字的标签

标签用于格式化数字。它的属性和描述如表9.21所示:

表9.21标签属性和说明

标签实际是对应java.util.NumberFormat类,type属性的可能值包括currency(货币)、number(数字)和percent(百分比)。

下面看一个示例。

该结果将被保存在“ money”变量中,将根据Locale环境显示当地的货币格式。

9.5.9 用于解析数字的标签

标签用于解析一个数字,并将结果作为https://www.wendangku.net/doc/d6621989.html,ng.Number类的实例返回。

标签看起来和标签的作用正好相反。它的属性和描述如表9.22所示:

表9.22标签属性和说明

下面看一个示例。

解析之后的结果为“ 0.15”。

9.5.10 用于格式化日期的标签

标签用于格式化日期。它的属性和描述如表9.23所示:

表9.23标签属性和说明

标签与两组标签的关系密切。若没有指定timeZone

属性,也可以通过两组标签设定的时区来格式化最后的结果。9.5.11 用于解析日期的标签

标签用于解析一个日期,并将结果作为https://www.wendangku.net/doc/d6621989.html,ng.Date类型的实例返回。标签看起来和标签的作用正好相反。它的属性和描述如表9.24所示:

表9.24标签属性和说明

两组标签都实现解析字符串为一个具体对象实例的工作,因此,这两组解析标签对var属性的字符串参数要求非常严格。就JSP页面的表示层前段来说,处理这种解析本不属于份内之事,因此两组标签应该尽量少用,替代工作的地方应该在服务器端表示层的后段,比如在Servlet中。

标签

作者:不详文章来源:https://www.wendangku.net/doc/d6621989.html,/nbtymm/archive/2007/01/18/94655.html 上传日

期:2007-01-21

9.6 Database access 标签库

Database access标签库中的标签用来提供在JSP页面中可以与数据库进行交互的功能,虽然它的

存在对于早期纯JSP开发的应用以及小型的开发有着意义重大的贡献,但是对于MVC模型来说,它

却是违反规范的。因为与数据库交互的工作本身就属于业务逻辑层的工作,所以不应该在JSP页面中

出现,而是应该在模型层中进行。

对于Database access标签库本书不作重点介绍,只给出几个简单示例让读者略微了解它们的功能。

Database access标签库有以下6组标签来进行工作:

9.6.1 用于设置数据源的标签

标签用于设置数据源,下面看一个示例:

var="dataSrc"

url="jdbc:postgresql://localhost:5432/myDB"

driver="org.postgresql.Driver"

user="admin"

password="1111"/>

该示例定义一个数据源并保存在“ dataSrc”变量内。

9.6.2 用于查询的标签

标签用于查询数据库,它标签体内可以是一句查询SQL。下面看一个示例:

select * from table1

该示例将返回查询的结果到变量“ queryResults”中,保存的结果是javax.servlet.jsp.jstl.sql.Result类型的实例。要取得结果集中的数据可以使用循环来进行。下面看一个示例。

${https://www.wendangku.net/doc/d6621989.html,erName}

${row.passWord}

“ rows ”是javax.servlet.jsp.jstl.sql.Result实例的变量属性之一,用来表示数据库表中的“列”集合,循环时,

通过“ ${row.XXX}”表达式可以取得每一列的数据,“ XXX”是表中的列名。

9.6.3 用于更新的标签

标签用于更新数据库,它的标签体内可以是一句更新的SQL语句。其使用和标签没有什么不同。

9.6.4 用于事务处理的标签

标签用于数据库的事务处理,在该标签体内可以使用标签和标签,而标签的事务管理将作用于它们之上。

标签对于事务处理定义了read_committed、read_uncommitted、repeatable_read、serializable4个隔离级别。

9.6.5 用于事务处理的标签

这两个标签用于向SQL语句提供参数,就好像程序中预处理SQL的“ ?”一样。标签传递除java.util.Date类型以外的所有相融参数,标签则指定必须传递java.util.Date类型的参数。

标签

作者:不详文章来源:https://www.wendangku.net/doc/d6621989.html,/nbtymm/archive/2007/01/18/94658.html 上传日

期:2007-01-21

9.7 Functions 标签库

称呼Functions标签库为标签库,倒不如称呼其为函数库来得更容易理解些。因为Functions标签库并没有提供传统的标签来为JSP页面的工作服务,而是被用于EL表达式语句中。在JSP2.0规范下出现的Functions标签库为EL表达式语句提供了许多更为有用的功能。Functions标签库分为两大类,共16个函数。

长度函数:fn:length

字符串处理函数:fn:contains、fn:containsIgnoreCase、fn:endsWith、fn:escapeXml、fn:indexOf、fn:join、fn:replace、fn:split、fn:startsWith、fn:substring、fn:substringAfter、fn:substringBefore、

JavaWeb应用开发实用教程习题部分汇总

表单中要提交数据到指定的处理文件由表单的( C )属性指定。 A. method B. name C. action D. 以上都不对 以下URL中语法不正确的是( D ) A. https://www.wendangku.net/doc/d6621989.html,:80/download/home.html B. telnet://https://www.wendangku.net/doc/d6621989.html,:70 C. ftp://https://www.wendangku.net/doc/d6621989.html, D. https://www.wendangku.net/doc/d6621989.html, 要运行JSP程序,下列说法不正确的是( B ) A. 服务器端要安装Servlet容器,如Tomcat等 B. 客户端需要安装Servlet容器,如Tomcat等 C. 服务器端需要安装JDK D. 客户端需要安装浏览器,如IE等 当发布Web应用程序时,通常把Web应用程序的目录及文件放到Tomcat的( C )目录下。 A. work B. temp C. webapps D. conf 下面关于HTTP说法不正确的是( D ) A. HTTP是Web应用所使用的主要协议 B. HTTP是一种超文本传输协议,是基于请求响应模式的 C. HTTP是无状态协议 D. HTTP的请求和响应消息如果没有发送并成功传递,则HTTP可以保存已传递的信息 下面关于Servlet的描述错误的是( C ) A. 一个Servlet就是Java中的一个类 B. Servlet是位于Web服务器内部的服务器端的Java应用程序 C. Servlet可以由客户端的浏览器解释执行 D. 加载Servlet的Web服务器必须包含支持Servlet的Java虚拟机 有关Servlet的调用,下列说法错误的是( D ) A. 可以通过在浏览器的地址栏中输入URL来调用Servlet B. 可以通过表单的action属性来调用一个Servlet接受表单信息 C. 可以在标记中调用Servlet D. 只有上述3种调用Servlet的方法 下面不属于JSP指令的是( B ) A. include B. import C. page D. taglib page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是( D ) A. <%@ page %>作用于整个JSP页面 B. 可以在一个页面中使用多个<%@ page %>指令 C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的

Web 程序设计上机指导书

Web 程序设计上机指导书 使用说明:《Web 程序设计上机指导书》是配合《JSP2.0应用教程》的各个章节技术安排编写的,通过13个上机的完成,循序渐进的学会使用JSP2.0技术从事Web应用软件的开发,在课程的最后使同学们完成一个班级论坛的软件开发任务。本上机指导书是在总结以往教学中的经验教训,就如何让学生对所学内容有更好的整体把握,对JSP技术有更好的认识而提出的。思想源于我和史江萍老师在假期的一次讨论,觉得应该设计出一套比较系统的上机内容,让同学们对整个的项目技术有所了解,最后由杨弘平执笔编写仅供学生上机参考使用,不当之处,请大家指正。 目录 上机一WEB 应用开发环境配置 上机二JSP页面中的元素 上机三 JSP页面出错处理和设计 上机四JSP的对象 上机五功能模块编写 上机六 EL表达式的使用 上机七 JSTL标准标签库的使用 上机八 JSTL的其它标签的应用 上机九 MySQL数据库的使用 上机十使用SQL标记库连接数据库 上机十一 JDBC的方式连接数据库 上机十二JavaBean 编程 上机十三 Servlet编程

上机一WEB 应用开发环境配置 内容:搭建JSP工作环境,包括Java JDK的安装、Tomcat服务器的安装、熟悉MyEclipse开发环境、构建班级论坛的第一个JSP的index.jsp首页面。 1. 安装JDK 在磁盘上找到jdk-6-windows-i586.exe 运行安装程序,设定安装路径为D:\jdk1.6.0, 其余接受默认安装。 安装结束后,配置环境变量包括java_home,path和 classpath其操作步骤如下: 1)用鼠标右击?我的电脑?,选择?属性?,→?高级?→?环境变量?→?系统变量?→?新建?→在?变量名?输入框中写入?java_home?,在?变量值?输入框中写入?D:\jdk1.6.0?→点击?确定? 2)选中?系统变量?查看是否有classpath项目,→如果没有就点击?新建?,→如果已经存在就选中classpath选项,→点击?编辑?按钮,→然后在?变量名?中填写?classpath?,→在?变量值?中填写?.;D:\jdk1.6.0\lib;D:\jdk1.6.0\jre\lib? 3)同上在?path?设定时,?变量名?输入框填写?path?,?变量值?

自定义标签的整理(新手教程)

在J2EE项目中,JSP页面常常通过在静态页面模板中嵌入scriptlets来插入动态的内容。 然而,随着复杂程序的增加,JSP页面也变得难于管理。虽然用这种方法开发小形项目唾手可得, 但是scriptlets仍然要面对下面的不利情况: Scriptlet难于阅读和修改。带有Scriptlets的JSP 页面混合了两种语言,这使得阅读和维护变得很困难。 Scriptlets鼓励了将数据表现和逻辑处理的混合。JSP 页面主要功能是数据表现而不是逻辑处理。逻辑处理属于Java类的工作,他们应该由程序员维护并能够重用。 Scriptlets不能够被重用。当scriptlets被重用时,常常是鼓励拷贝-粘贴来达到重用的效果,这是一种危险的维护方法。每一次你拷贝-粘贴scriptlets时,将有更多行多余的代码需要维护。 Scriptlets的参数很难进行确定传递. 无论如何,绝大数人简单的拷贝,粘贴、编辑或者类似的增加,使得大部份的多余的代码需要更多的维护。 与其创建充满了scriptlets的巨大的JSP页面,不如考虑使用用户自定义标签。用户自定义标签允许你创建、在JSP中使用你自己定义的类HTML标签。每当JSP引擎遇到用户自定义标签时,就会自动查找标签处理类,并自动调用他。页面中的自定义标签将会被票签处理类的输出所代替。这就

使得JSP页面不用直接在页面写Java代码,就可以指定生成动态的内容的。 用户自定义标签为你的网页设计提供了N种好处:他提高了页面代码的可读性。页面设计人员而不是程序员,能够使用很比使用Scriptlets更容易的使用标签。维护代码的程序员也只需个性标签库面不是JSP页面,这样他就不要再冒着破坏页面美观的风险。在使用标签的每一处,增强或者固定的标签改变了标签了的表现。标签比Scriptlets更容易确定参数,因为他会被作为一种属性或者在标签体内被传达。最后,标签比Scriptlets高度的可重用性,因为你可以创建共享的、可重用的自定义标签库。 JSTL提供的就是这种标准的自定义标签集。 让我们通过看一个简单的JSP页面例子,来看看如何使用自定义标签。下面这个页面使用scriptlet来得到数据: <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.util.Date" %> Sample JSP

The date and time at the server are: <% String sformat = "EEEE, d MMMM yyyy 'at' kk:mm:ss z"; SimpleDateFormat format = new SimpleDateFormat(sformat); Date date = new Date(); String sdate = format.format(date); out.print(sdate); %>

尚学堂java视频学习顺序(由十年整理)

尚学堂视频学习顺序 1. 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第1章_JAVA简介_源代码_及重要说明尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第2章_基础语法 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第2章_递归补充 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第3章_面向对象 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第4章_异常处理 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第5章_数组 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第5章_数组 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第6章_常用类 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第7章_容器 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第8章_IO 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第9章_线程 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第10章_网络 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第11章_GUI 2. 尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse 3 尚学堂科技_马士兵_坦克大战视频教程_java_eclipse 4 尚学堂科技_马士兵_坦克大战图片版 5 尚学堂科技_马士兵_坦克大战网络版视频教程 6 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_专题_日期处理 7 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_专题_正则表达式 8 尚学堂科技_张志宇_SERVLET_JSP_视频教程_第一版 9 尚学堂科技_马士兵_JDBC_MYSQL_BBS项目课堂实录视频教程 10 尚学堂科技_马士兵_BBS_项目补充_MySQL简明视频教程 11

Java基础教程1.pdf

课程主题实训内容实训目标实训项目Unix/Linux开发环境 Unix开发环境Unix系统原理、Unix开发环境、Unix常用命令。 熟练掌握Unix常用命令;熟练构建Unix下的 Java开发环境。构建商业开发环境 Java语言核心 Java语言基础算法基础、常用数据结构、企业编程规范。 掌握常见的数据结构和实用算法;培养良好的企 业级编程习惯。 算法工具集、CommonsUtils Java面向对象设计面向对象特性:封装、继承、多态等。 掌握面向对象的基本原则以及在编程实践中的 意义;掌握Java面向对象编程基本实现原理。应用程序的发布与打包、猜数字程序的实现、类的抽象、五子棋游戏控制台版本 JDK核心API 语言核心包、异常处理、常用工具包、 集合框架。 熟练掌握JDK核心API编程技术;理解API设 计原则;具备熟练的阅读API文档的能力;为 后续的课程学习打下坚实的语言基础。 Commons-lang包部分功能、 MyArrayList类的实现、表达式解 析、基于加密的消息发送器、升级 版猜数字游戏、简单记事本程序 Oracle数据库技术 SQL语言SQL语句基础和提高、SQL语句调优。 熟练的掌握SQL语句;掌握一定的数据库查询 技巧及SQL语句优化技巧。 SQL高级查询实例Oracle数据库开发 Oracle体体系结构及系统管理、Oracle数据库 高级编程、数据库设计基础。 掌握Oracle体系结构及核心编程技术。Oracle高级编程实例JavaSE高级程序设计 JavaSE核心异常处理、多线程基础、IO系统、网络编程、Swing 组件、JVM性能调优(JVM内存结构剖析、GC基 本原理、GC分析及调优、JVM内存参数优化)、 Java泛型、JDK新特性。 熟练掌握JavaSE核心内容,特别是IO和多线 程;初步具备面向对象设计和编程的能力;掌 握基本的JVM优化策略。 BMP文件处理程序的实现、 URLEncoder功能实现、答题系统、 生产者和消费者问题、多线程文件 下载器 XML XML语法、XML解析(SAX、DOM)、Dom4j组件、 Digester组件。熟练掌握XML语法规则;理解DOM模型;熟悉Java 对XML的各种解析方式。 基于XML数据格式的题库处理程序 JDBC JDBC核心API(Connection、 Statement、 ResultSet)、JDBC 优化(缓存技术、批处理技 术、连接池技术)。 理解JDBC作为规范的设计原则;熟练掌握JDBC API;具备使用JDBC对数据库进行高效访问的 能力。 SQL前端工具、数据采集和存储程 序、数据整合功能程序、项目管理 系统DAO实现 软件工程及OOAD

DEBUG 使用教程 查错 排错 debug 模式 大全

1.项目报错,即eclipse里面项目工程有红叉 eclipse中打开Problems视图,window->show view->other->General->Problems 通过Problems视图中的错误信息,找到错误源 (有可能是java文件, 或者(xml,有可能是 1.xml有错;2.含有错误字符(比如从word复制过来);3.假报 ) buildpath -> eclipse中工程,右键->Build Path-> Configure Build path -> Libraries选项卡 察看 JRE System Library(引入jdk自带包0), Server Runtime (引入jsp/servlet实现包, 比如Apache Tomcat V6.0 (这个是window->preferences->server下定义的Runtime Environment对应) ) Web App Libraries(包含了eclipse中项目工程自带的WEB-INF/lib 下引入的jar包) junit(调试用,不一定需要) User Library(一般eclipse使用者把自己引入的jar包放在一起,定义

一个library,在eclipse中引用) 2.项目启动,控制台报错 察看控制台错误信息 可能错误信息包括: 1.session factory(可能是hibernate的实体类定义错误), 控制台一般看到dao,sessionFactory,hibernate的关键字 eg. Caused by: org.hibernate.PropertyNotFoundException: Could not find a getter for name1 in class demo.ssh2.model.Role at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicProperty Accessor.java:306) at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAc cessor.java:299) at org.hibernate.mapping.Property.getGetter(Property.java:294)

JSF入门教程

JSF入门教程1.入门 1.1 简介JSF 1.2 第一个JSF程序 1.3 简单的导航 Navigation 1.4 导航规则设置 1.5 JSF Expression Language 1.6 国际化信息 2. Managed Beans 2.1 Backing Beans 2.2 Beans的配置与设定 2.3 Beans上的List, Map 3. 数据转换与验证 3.1 标准转换器 3.2 自定义转换器 3.3 标准验证器 3.4 自定义验证器 3.5 错误信息处理 3.6 自定义转换, 验证标签 4. 事件处理 4.1 动作事件 4.2 即时事件 4.3 值变事件 4.4 Phase事件

JSF 入门 如果您是从使用的角度来看JSF,则您不用理会HTTP、数据转换等细节,JSF 将细节都隐藏起来了,无论您是网页设计人员或是应用程序设计人员,都可以使用自己熟悉的方式来看JSF。 1. 入门 借由以下的几个主题,可以大致了解JSF的轮廓与特性,我们来看看网页设计人员与应用程序设计人员各负责什么。 1.1 简介JSF Web应用程序的开发与传统的单机程序开发在本质上存在着太多的差异,Web 应用程序开发人员至今不可避免的必须处理HTTP的细节,而HTTP无状态的(stateless)本质,与传统应用程序必须维持程序运行过程中的信息有明显的违背,再则Web应用程序面对网站上不同的使用者同时的存取,其执行线程安全问题以及数据验证、转换处理等问题,又是复杂且难以解决的。 另一方面,本质上是静态的HTML与本质上是动态的应用程序又是一项违背,这造成不可避免的,处理网页设计的美术人员与程序设计人员,必须被彼此加入至视图组件中的逻辑互相干扰,即便一些视图呈现逻辑以标签的方式呈现,试图展现对网页设计美术人员的亲切,但它终究必须牵涉到相关的流程逻辑。 有很多方案试着解决种种的困境,而各自的着眼点各不相同,有的从程序设计人员的角度来解决,有的从网页设计人员的角度来解决,各种的框架被提出,所造成的是各种不统一的标签与框架,为了促进产能的集成开发环境(IDE)难以整合这些标签与框架,另一方面,开发人员的学习负担也不断的加重,他们必须一人了解多个角色的工作。 JavaServer Faces的提出在试图解决这个问题,它试图在不同的角度上提供网页设计人员、应用程序设计人员、组件开发人员解决方案,让不同技术的人员可以彼此合作又不互相干扰,它综合了各家厂商现有的技术特点,由Java Community Process(JCP)团队研拟出来的一套标准,并在2004年三月发表了JavaServer Faces 1.0实现成果。 从网页设计人员的角度来看,JavaServer Faces提供了一套像是新版本的HTML 标签,但它不是静态的,而是动态的,可以与后端的动态程序结合,但网页设计人员不需要理会后端的动态部份,网页设计人员甚至不太需要接触JSTL这类的标签,也可以动态的展现数据(像是动态的查询表格内容),JavaServer Faces提供标准的标签,这可以与网页编辑程序结合在一起,另一方面,JavaServer Faces也允许您自定义标签。 从应用程序设计人员的角度来看,JavaServer Faces提供一个与传统应用程序开发相类似的模型(当然因某些本质上的差异,模型还是稍有不同),他们可以基于事件驱动来开发程序,不必关切HTTP的处理细节,如果必须处理一些视觉组件的属性的话,他们也可以直接在整合开发环境上拖拉这些组件,点选设定组件的属性,JavaServer Faces甚至还为应用程序设计人员处理了对象与字符串(HTTP传送本质上就是字符串)间不匹配的转换问题。

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis) 使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。实践出真知。(可通过图片水印查看博客地址)1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的 Java 开发框架,由Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 1.2、SpringMVC Spring MVC属于SpringFrameWork的后续产品,已经融合在 Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 1.3、MyBatis

spring3.0MVC中文教程

Spring3 MVC - 3到Spring MVC框架简介 Spring3 MVC框架简介 Spring MVC是Spring的框架的Web组件。它提供了丰富的功能,为建设强大的Web应用程序。Spring MVC框架的架构,并在这样的高度可配置的方式,每一块的逻辑和功能设计。此外Spring可以毫不费力地与其他流行的Web框架,如Struts,WebWork的,的Java Server Faces和Tapestry集成。这意味着,你甚至可以告诉Spring使用Web框架中的任何一个。比Spring更不紧耦合的servlet或JSP 向客户端呈现视图。喜欢速度与其他视图技术集成,Freemarker的,Excel或PDF现在也有可能。 Spring3.0 MVC系列 ?第1部分:到Spring 3.0 MVC框架简介 ?第2部分:在Spring 3.0 MVC创建Hello World应用程序 ?第3部分:在Spring 3.0 MVC的形式处理 ?第4部分:Spring3 MVC的Tiles Support与Eclipse中的例子插件教程 ?第5部分:Spring3 MVC的国际化及本地化教程与范例在Eclipse ?第6部分:Spring3 MVC示例教程Spring主题 ?第7部分:创建Spring3 MVC Hibernate 3的示例在Eclipse中使用Maven的 在Spring Web MVC,你可以使用任何对象作为命令或表单支持对象,你不需要实现框架特定的接口或基类。Spring的数据绑定是高度灵活的:例如,将验证错误类型不作为应用系统错误,可以通过评估的不匹配。因此,你不必重复你的业务对象的属性,简单的无类型的字符串,在表单对象仅仅是为了处理无效的意见,或正确转换的字符串。相反,它往往是最好直接绑定到业务对象。 请求处理生命周期 Spring的Web MVC框架是,像许多其他Web MVC框架,要求为导向,围绕一个中心的servlet,它把请求分派给控制器,提供其他功能,有利于开发Web应用而设计的。Spring DispatcherServlet DispatcherServlet是Spring IoC容器完全集成,并允许我们使用的每一个Spring的其他功能。

eclipse搭建JSF的教程(亲测)

1.新建dynamic web project,选择configuration,如图所示: 2.新建之后,显示如下:

3.创建 4.新建userChoose.jsp,newJava.jsp,newC.jsp (1) userChoose.jsp <%@page language="java"import="java.util.*" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@taglib uri="https://www.wendangku.net/doc/d6621989.html,/jsf/core"prefix="f"%> <%@taglib uri="https://www.wendangku.net/doc/d6621989.html,/jsf/html"prefix="h"%> My JSF 'index.jsp' starting page JSF测试信息!
请选择查询项目:

JavaEE编程作业讲解

Java EE编程技术(一) 实训报告 题目:图书管理系统系统 设计者:赵硕 专业班级:计应14-4 学号:411420010029 2015 年07月09日 河南理工大学计算机学院

1.1项目背景和需求分析 1.1.1项目背景 对易读性的追求。再设计的过程中我们应该根据实际的情况进行设计,做到具体问题随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。书籍做为人类的精神食粮,在现代社会中越来越受到重视,大量的书籍出现在市场上,人们有了各种各样不同的选择。与此同时,为了管理大量的图书,图书管理系统也大量的出现,随着图书的大量增加,其管理难度也越来越大,如何优化管理也就成为了一个大众化的问题。 现已有的图书管理系统,其功能已十分强大,为了便于管理员对图书管理系统进行妥善的管理和读者的查询,图书管理系统为管理员提供了管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库等功能,为读者提供了书籍查询、读者借阅信息查询、图书网上续借等很多功能。 大学为我们提供了自由的学习环境,使我们有更多的时间到图书馆借阅书籍,让我们可以随时掌握各方面的知识,不断提高自我、充实自我,但由于图书馆藏书成千上万,我们很难一本一本的去查找自己感兴趣的书籍,因此我们会经常用到学校为我们提供的图书管理系统,用时间长了便对此产生了兴趣,正好本次课程设计为我们提供了良好的机会,让我们亲自设计并实现了图书管理系统的部分功能。 设计一个图书管理系统必不可少的必须对全管书籍进行分类汇总。而这就是我们所说的数据库设计的第一阶段:需求分析。在这一阶段除了对具体情况诸如实行对管理员的管理、对读者的管理、书籍管理、书籍的借阅与归还、借阅超时等功能的实现,还需要对用户的需求进行调查和分析,否则就失去了设计这个系统的意义了。 对于界面的设计我们应该追求的是:美观、易读性强、清晰度高;原则是:不能因为刻意追求美观而以整个界面的清晰度的牺牲作为代价,不能为了清晰度而抛弃具体分析,不刻意追求原则。 在对应的界面与MySQL数据库建立连接,并实现对应的SQL语句进行实现将产生的结果显示出来。并运用捕捉异常的方法,将异常信息显示出来。 实现SQL语句的时候借助前台开发工具中关于数据处理的控件来完成。对于读者而言他们的需求是了解图书的基本情况,自己的借阅情况。总而言之就是实现对各个

语言程序设计资料:netbeans使用教程-2

本教程中构建的 Midnight Cookie Company 应用程序将向您介绍如何执行以下操作: ?从现有源创建 web 项目 ?创建前端控制器 servlet ?创建用于处理请求和创建 cookie 的方法 ?创建接收请求的 JSP 页面 ?使用 JSTL 国际化应用程序 ?使用 IDE 的 HTTP 监视器分析部署的应用程序 下面是本教程中所使用的一些术语的解释。 ?合成视图 (Composite View)。用于演示 JSP 页面中信息的设计模式。该设计模式从组件视图中创建一个组合视图。组件视图可能包括页面的动态部分和模块部分。当您从多个子视图中创建视图时,合成视图设计模式与web 应用程序设计模式有关。合成的 web 页面通常来自各种资源的内容组成。页面的布局由其子视图的内容独立管理。例如,一个视图的子视图可能为 Navigation、Search、Feature Story 和 Headline。 当创建合成视图时,您既可以包含静态的内容,也可以包含动态的内容。静态内容由 HTML 文件组成。动态内容是 JSP 页面的一部分。可以在 JSP 安装时或运行时决定具体的内容。 ?前端控制器 (Front controller)。负责路由传入请求并在 web 应用程序中实施导航的组件。有关使用前端控制器设计模式的详细信息,请参阅构建 Web 组件编程系列书中的“前端控制器”部分,该书位于Sun? ONE Studio Developer Resources网站的文档页面中。 ?JSP 页 (JSP Page)。在 web 应用程序中用来向用户提供信息并能够使数据从终端用户流回服务器的文件。 JSP pages 必须放置在 web 应用程序中以便可以在 IDE 中执行 JSP pages。 ?Servlet。在 servlet 容器内执行的 Java 类,通常在 web 服务器内运行。Servlet 用于执行以下操作:o生成动态内容。 o扩展 web 服务器和支持 web 的应用程序的功能。 o使用请求-响应范例与 web 客户端(通常是浏览器应用程序,如 Netscape 或 Internet Explorer)进行交互。 该应用程序使用 JavaServer Pages Standard Tag Library (JSTL) 获取该应用程序中使用的动态数据以及国际化 JSP 页面。 当您构建 Midnight Cookie Company 应用程序时,本教程将带您浏览在 IDE 中的整个 web 开发过程。 完成本教程大约要花两个小时的时间。 开始编写代码之前,必须确保您具备所有必要的软件,并且保证正确设置项目。 开始之前,需要在您的计算机上安装以下软件: ?NetBeans IDE 5.0(下载)。 ?Java Standard Development Kit (JDK?) version 1.4.2(下载)或 5.0(下载) 也可以下载并使用 Sun Java System (SJS) Application Server(下载)、JBoss 或 WebLogic。但是,与 IDE 绑定在一起的 Tomcat Web Server 可以提供两层 Web 应用程序(如本快速入门指南中描述的)所需的全部支持。仅当您要开发企业应用程序时才需要应用服务器(如 SJS Application Server、Jboss 或 WebLogic)。

尚学堂视频学习顺序(必看)

尚学堂视频学习顺序(必看) 尚学堂视频学习顺序2009-04-22 21:19尚学堂科技_马士兵_JDK5.0下载-安装-配置 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第1章_JAVA简介_源代码_及重要说明 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第2章_基础语法 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第2章_递归补充 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第3章_面向对象 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第4章_异常处理 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第5章_数组 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第5章_数组 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第6章_常用类 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第7章_容器 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第8章_IO 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第9章_线程 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第10章_网络 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第11章_GUI 尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse 尚学堂科技_马士兵_坦克大战视频教程_java_eclipse 尚学堂科技_马士兵_坦克大战图片版 尚学堂科技_马士兵_坦克大战网络版视频教程 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_专题_日期处理 尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_专题_正则表达式 尚学堂科技_张志宇_SERVLET_JSP_视频教程_第一版 尚学堂科技_马士兵_JDBC_MYSQL_BBS项目课堂实录视频教程 尚学堂科技_马士兵_BBS_项目补充_MySQL简明视频教程 尚学堂科技_马士兵_JAVA_系列视频教程_BBS_2007 尚学堂科技_马士兵_JAVA_网上商城项目视频讲解 尚学堂科技_马士兵_轻松愉快LINUX视频教程 尚学堂科技_马士兵_设计模式_01_Observer 尚学堂科技_王勇_JAVA视频教程_XML01_XML 尚学堂科技_王勇_JAVA视频教程_XML02_XSL 尚学堂科技_王勇_JAVA视频教程_XML03_DTD_Schema 尚学堂科技_王勇_JAVA视频教程_XML04_JDOM对XML文件的读取 尚学堂科技_王勇_JAVA视频教程_Struts01_源代码及重要说明 尚学堂科技_王勇_JAVA视频教程_Struts02_多层架构及MVC 尚学堂科技_王勇_JAVA视频教程_Struts03_第一个项目 尚学堂科技_王勇_JAVA视频教程_Struts04_小结及作业 尚学堂科技_王勇_JAVA视频教程_Struts05_Struts标签库 尚学堂科技_王勇_JAVA视频教程_Struts06_JSTL_EL表达式 尚学堂科技_王勇_JAVA视频教程_Struts07_JSTL_核心库 尚学堂科技_王勇_JAVA视频教程_Struts08_JSTL_格式化库及函数库

相关文档
相关文档 最新文档