Log4j 基本使用方法
Log4j 由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,
日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,
分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打
印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
一、定义配置文件
其实您也可以完全不使用配置文件,而是在代码中配置Log4j 环境。但是,
使用配置文件将使您的应用程序更加灵活。Log4j 支持两种配置文件格式,一种
是XML 格式的文件,一种是Java 特性文件(键=值)。下面我们介绍使用Java
特性文件做为配置文件的方法:
1.配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、
DEBUG、ALL 或者您定义的级别。Log4j 建议只使用四个级别,优先级从高到低分
别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用
程序中相应级别的日志信息的开关。比如在这里定义了INFO 级别,则应用程序
中所有DEBUG 级别的日志信息将不被打印出来。appenderName 就是指定日志信
息输出到哪个地方。您可以同时指定多个输出目的地。
2.配置日志信息输出目的地Appender,其语法为:
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.option = valueN
其中,Log4j 提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产
生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定
的地方)
3.配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout=
fully.qualified.name.of.layout.class
MySQL_命令大全_-_命令详解
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
二、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg345
.......
.......
.......
2、显示库中的数据表:
use mysql; //打开库,学过FOXBASE的一定不会陌生吧
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
三、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
四、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来代替.
例:
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
2、数据传入命令 load data local infile \"文件名\" into table 表名;
注意:你最好将文件复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库。
五、备份数据库:(命令在DOS的\\mysql\\bin目录下执行)
mysqldump --opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
mysql命令行常用命令
第一招、mysql服务的启动和停止
net stop mysql
net start mysql
第二招、登陆mysql
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP
第三招、增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
第四招: 操作数据库
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
1、 显示数据库列表。
show databases;
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
2、 显示库中的数据表:
use mysql;
show tables;
Java集合排序及java集合类详解.PDF
PM
Java 集合排序及java 集合类详解
(Collection,List,Set,Map)
摘要内容
Java里面最重要,最常用也就是集合一部分了。能够用好集合和理
解好集合对于做Java程序的开发拥有无比的好处。本文详细解释了关
于Java中的集合是如何实现的, 以及他们的实现原理。
关键字:
Collection , List ,Set , Map , 集合, 框架。
目录
1 集合框架........................................................................................................................2
1.1 集合框架概述....................................................................................................2
1.1.1 容器简介.................................................................................................2
1.1.2 容器的分类...............................................................................................4
1.2 Collection ............................................................................................................6
1.2.1 常用方法.................................................................................................6
1.2.2 迭代器......................................................................................................8
1.3 List ......................................................................................................................10
1.3.1 概述...........................................................................................................10
1.3.2 常用方法...............................................................................................11
1.3.3 实现原理...............................................................................................15
1.4 Map .....................................................................................................................18
1.4.1 概述...........................................................................................................18
1.4.2 常用方法...............................................................................................18
1.4.3 Comparable 接口................................................................................23
1.4.4 实现原理...............................................................................................25
1.4.5 覆写hashCode()....................................................................................29
1.5 Set ..........................................................................................................................33
1.5.1 概述...........................................................................................................33
1.5.2 常用方法..................................................................................................34
1.5.3 实现原理...............................................................................................38
1.6 总结:集合框架中常用类比较........................................................................39
2 练习.................................................................................................................................40
3 附录: 排序.....................................................................................................................41
CS模式与BS模式的区别.pdf
一、C/S 结构的优点
C/S 结构的优点是能充分发挥客户端PC 的处理能力,很多工作可以在客户端处
理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:
二、C/S 架构软件的优势与劣势
(1)、应用服务器运行数据负荷较轻
三、C/S、B/S 结构软件技术上的比较
C/S 结构软件(即客户机/服务器模式)分为客户机和服务器两层,
四、C/S、B/S 结构软件商业运用上的比较
管理软件是为企业服务的,企业选用管理软件不仅要从技术上考虑,还要从商业
运用方面来考虑,下文将从商业运用的角度对两种结构的软件进行比较。
一、B/S 结构的优点
B/S 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
.........
.........
.........
.........
.........
Hibernate3.1.2Chinese.pdf
很全的hibernate学习资料;知识点详细;示例明细、明晰
很好很强大。和大家分享一下
JSP经典实用教程.pdf
除了知识体系外,还有很多实例;真的很好很强大。
第1 章JSP 简介................................................................................10
1.1 什么是JSP........................................10
1.2 JSP 页面..........................................10
1.3 JSP 的运行原理....................................12
1.4 安装配置JSP 运行环境.............................16
1.5 JSP 页面的测试...................................20
1.6 JSP 与Java Servlet 的关系........................23
第2 章JSP 语法.................................................................................25
2.1 JSP 页面的基本结构................................25
2.2 变量和方法的声明.................................29
2.2.1 声明变量 .......................................................................29
2.2.2 声明方法 .......................................................................32
2.2.3 声明类...........................................................................37
2.3 Java 程序片......................................40
2.4 表达式...........................................45
2.5 JSP 中的注释......................................46
2.6 JSP 指令标签.....................................49
2.6.1 page 指令......................................................................49
II
2.6.2 include 指令标签........................................................54
2.7 JSP 动作标签.....................................59
2.7.1 include 动作标签........................................................59
2.7.2 param 动作标签.............................................................64
2.7.3 forward 动作标签........................................................65
2.7.4 plugin 动作标签..........................................................69
2.7.5 useBean 动作标签........................................................75
第3 章JSP 内置对象........................................................................76
3.1 request 对象.....................................77
3.1.1 获取客户提交的信息....................................................78
3.1.2 处理汉字信息................................................................83
3.1.3 常用方法举例................................................................85
3.1.4 用户注册 .......................................................................93
3.1.5 获取 HTML 表单提交的数据........................................101
3.1.6 表格.............................................................................112
3.2 response 对象...................................116
3.2.1 动态响应 contentType 属性......................................116
3.2.2 response 的HTTP 文件头...........................................122
3.2.3 response 重定向.........................................................124
III
3.2.4 response 的状态行.....................................................125
3.3 session 对象.....................................132
3.3.1 session 对象的Id......................................................132
3.3.2 session 对象与URL 重写...........................................135
3.3.3 session 对象的常用方法: .......................................140
3.3.4 计数器.........................................................................150
3.4 application 对象.................................153
3.4.1 application 对象的常用方法..................................153
3.4.2 用 application 制作留言板......................................155
3.5 out 对象........................................160
第4 章JSP 中的文件操作...............................................................166
4.1 File 类.........................................166
4.1.1 获取文件的属性..........................................................166
4.1.2 创建目录 .....................................................................169
4.1.3 删除文件和目录..........................................................174
4.2 使用字节流读写文件..............................175
4.2.1 FileInputStream 和FileOutputStream 类.............177
4.2.2 BufferedInputStream 和BufferedOutputStream 类179
4.3 使用字符流读写文件..............................183
IV
4.3.1 FileReader 和FileWriter 类..................................184
4.3.2 BufferedReader 和BufferedWriter 类....................185
4.4 回压字符流......................................193
4.5 数据流..........................................196
4.6 对象流..........................................204
4.7 RandomAccessFile 类..............................214
4.8 文件上传........................................223
4.9 文件下载........................................232
4.10 分页读取文件....................................235
4.11 标准化考试......................................240
第5 章JSP 中使用数据库...............................................................251
5.1 数据源..........................................251
5.2 JDBC-ODBC 桥接器.................................258
5.3 查询记录........................................259
5.3.1 顺序查询.....................................................................262
5.3.2 游动查询.....................................................................266
5.3.3 随机查询 .....................................................................271
5.3.4 参数查询.....................................................................275
5.3.5 排序查询.....................................................................282
V
5.3.6 分析结果集查询..........................................................286
5.3.7 使用统配符查询..........................................................289
5.4 更新记录........................................290
5.5 添加记录........................................297
5.6 删除记录........................................305
5.7 分页显示记录....................................311
5.8 连接数据库的其它方式............................315
5.8.1 连接 Oracle 数据库....................................................315
5.8.2 连接 MySql 数据库......................................................318
5.9 查询Excel 电子表格..............................319
5.10 使用同步连接....................................323
5.11 网上投票........................................327
5.12 成绩录入查询系统................................336
第6 章JSP 与JavaBeans ................................................................362
6.1 编写javabeans 和使用javabeans...................363
6.1.1 编写beans...................................................................363
6.1.2 使用beans...................................................................364
6.2 beans 的存放目录.................................372
6.3 获取和修改beans 的属性..........................376
VI
6.3.1 getProperty 动作标签...............................................376
6.3.2 setProperty 动作标签...............................................379
6.4 beans 的辅助类...................................389
6.5 带包名的beans...................................393
6.6 JSP 与beans 结合的简单例子.......................397
6.6.1 三角形 beans...............................................................397
6.6.2 计数器 beans...............................................................400
6.6.3 购物车 beans...............................................................402
6.6.4 读文件 beans..............................................................412
6.6.5 写文件 beans...............................................................420
6.6.6 查询数据库beans.......................................................428
6.6.7 猜数字beans...............................................................432
6.6.8 标准化考试 beans......................................................437
6.6.9 日期 beans..................................................................446
6.6.10 分页显示记录beans ..................................................450
第7 章基于会员制的网络交友.......................................................461
7.1 系统设计.......................................461
7.2 数据库设计及连接................................462
7.3 页面管理........................................464
VII
7.4 各个页面的设计..................................466
7.4.1 会员注册.....................................................................467
7.4.2 会员登录.....................................................................479
7.4.3 浏览会员 .....................................................................486
7.4.4 查找会员 .....................................................................495
7.4.5 留言板.........................................................................502
7.4.6 查看公共留言..............................................................514
7.4.7 查看私人留言..............................................................521
7.4.8 修改密码 .....................................................................532
7.4.9 修改个人信息..............................................................537
第8 章网上书店..............................................................................543
8.1 系统设计.......................................543
8.2 数据库设计及连接................................544
8.3 页面管理........................................546
8.4 各个页面的设计..................................547
8.4.1 用户注册 .....................................................................548
8.4.2 用户登录.....................................................................557
8.4.3 用户订购.....................................................................565
8.4.4 查看订单.....................................................................578
VIII
8.4.5 修改订单.....................................................................581
8.4.6 浏览书目.....................................................................591
8.4.7 修改密码 .....................................................................601
8.4.8 修改个人信息..............................................................606
第9 章Java Servlet ....................................................................612
9.1 S ERVLET工作原理..................................612
9.1.1 Servlet 的生命周期..................................................612
9.1.2 init 方法:.................................................................613
9.1.3 service 方法...............................................................614
9.1.4 destroy 方法...............................................................614
9.2 编译和安装SERVLET ................................615
9.2.1 简单的servlet 例子..................................................615
9.2.2 编译servlet...............................................................616
9.2.3 存放 servlet 的目录..................................................617
9.2.4 运行 servlet...............................................................618
9.2.5 带包名的servlet.......................................................620
9.3 通过JSP 页面调用SERVLET ..........................621
9.3.1 通过表单向servlet 提交数据..................................621
9.3.2 通过超链接访问servlet ...........................................624
IX
9.4 SERVLET的共享变量................................625
9.5 H TTPSERVLET 类 ....................................629
9.5.1 doGet 方法和doPost 方法.........................................629
9.5.2 处理 HTTP 请求头及表单信息....................................637
9.5.3 设置响应的HTTP 头....................................................646
9.6 用SERVLET读写文件................................651
9.6.1 读取文件的内容..........................................................652
9.6.2 写文件.........................................................................659
9.7 用SERVLET访问数据库..............................663
9.7.1 数据库记录查询..........................................................664
9.7.2 使用共享连接..............................................................672
9.8 会话管理........................................676
9.8.1 获取用户的会话..........................................................676
9.8.2 购物车.........................................................................680
9.8.3 猜数字.........................................................................687
深入浅出Struts2
简介......................................................................1
WEB世界中,STRUTS2身处何方.......................4
SERVLETS...........................................................................................5
JSP和SCRIPTLET开发........................................................................5
基于ACTION的框架.............................................................................6
基于组件的框架.................................................................................6
伟大的均衡器——AJAX......................................................................7
核心组件...............................................................8
配置...................................................................................................9
ACTIONS...........................................................................................14
INTERCEPTORS(拦截器)...............................................................18
值栈与 OGNL..................................................................................22
结果类型..........................................................................................23
结果和视图技术...............................................................................24
架构目标.............................................................29
概念分离..........................................................................................29
松耦合..............................................................................................30
易测试性..........................................................................................31
模块化..............................................................................................34
惯例重于配置...................................................................................37
提高效率技巧.....................................................39
重用 ACTION 的配置.........................................................................39
在配置中使用模式匹配调配符.........................................................40
使用替代的URI映射方法..................................................................41
了解拦截器的功能...........................................................................44
使用提供的拦截器栈........................................................................46
利用返回类型...................................................................................47
利用数据转换...................................................................................48
利用列表数据项支持........................................................................50
在ACTION中暴露领域模型................................................................52
尽可能使用声明式验证....................................................................53
把CRUD操作放到同一个ACTION中..................................................56
在可能的地方使用注释....................................................................59
视图技术选项..................................................................................63
了解框架提供的标签库及其特性.....................................................64
自定义UI 主题.................................................................................70
为通用的输出创建全局结果............................................................71
声明式异常处理...............................................................................71
国际化.............................................................................................73
其他技术集成......................................................77
页面修饰和布局...............................................................................77
业务服务/依赖注入..........................................................................80
数据库.............................................................................................83
安全.................................................................................................84
AJAX................................................................................................85
关于作者.............................................................87
参考资料.............................................................88
Struts2入门教程.pdf
第 1章 STRUTS2入门................................................................................................................................................3
第 2章STRUTS2晋级.................................................................................................................................................9
第 3章 STRUTS2核心概念......................................................................................................................................15
3.1 struts2的体系结构..................................................................................................................................16
3.2 struts2配置文件......................................................................................................................................17
3.3 Action配置.................................................................................................................................................25
第 4章 表单验证...................................................................................................................................................28
4.1 手动完成输入校验.....................................................................................................................................31
4.2 struts2框架实现数据校验.....................................................................................................................34
第 5章 国际化实现...............................................................................................................................................37
5.1 页面的国际化.............................................................................................................................................38
5.2 Action的国际化.........................................................................................................................................39
5.3 验证信息的国际化.....................................................................................................................................41
第 6章 拦截器浅析...............................................................................................................................................42
6.3 拦截器基础.................................................................................................................................................42
6.2 使用拦截器.................................................................................................................................................43
6.3 自定义拦截器.............................................................................................................................................45
6.4 综合示例.....................................................................................................................................................49
第 7章 探讨IOC模式..............................................................................................................................................49
第 8章 STRUTS2标签..............................................................................................................................................54
第 9章 表达式OGNL...............................................................................................................................................78
9.1 OGNL概述.....................................................................................................................................................79
9.2 OGNL基础.....................................................................................................................................................80
9.3 struts2中OGNL..........................................................................................................................................82
9.4 OGNL使用示例.............................................................................................................................................83
第 10章 上传下载.................................................................................................................................................85
第 11章 视图浅析.................................................................................................................................................89
第 12章 集成AJAX..................................................................................................................................................89
12.1 JSON概述...................................................................................................................................................89
12.2 JSON-RPC概述...........................................................................................................................................90
12.3 JSON示例...................................................................................................................................................90
12.4 struts2与JSON例................................................................................................................................93
第13章 集成HIBERNATE...........................................................................................................................................96
13.1系统总体设计图........................................................................................................................................96
13.2系统用例图................................................................................................................................................97
13.3 数据库.......................................................................................................................................................97
13.4系统效果图展示........................................................................................................................................98
13.5代码清单..................................................................................................................................................105
13.6 代码树形图.............................................................................................................................................125
第14章 集成SPRING.............................................................................................................................................125
第 15章 集成IBATIS.............................................................................................................................................134 第 16章 集成JQUERY
16.1 什么是Jquery.........................................................................................................................................134
16.2 Jquery操作CSS.......................................................................................................................................134
16.3 Jquery操作DOM.......................................................................................................................................136
16.4 Jquery处理text.....................................................................................................................................142
16.5 Jquery处理xml.......................................................................................................................................144
16.4 Jquery处理json.....................................................................................................................................144 .......................................................................................................................................144 第17章 投票管理系统
第18章 无纸化办公管理系统.............................................................................................................................144 ...................................................................................................................................161 第19章 某数据采集系统
Ajax从入门到精通
Ajax 由 HTML、java script™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成
交互性的 Ajax 应用程序。本系列的作者是一位 Ajax 专家,他演示了这些技术如何协同工作 —— 从总体概
述到细节的讨论 —— 使高效的 Web 开发成为现实。他还揭开了 Ajax 核心概念的神秘面纱,包括
XMLHttpRequest 对象。
五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道
Ruby 的程序员只能坐冷板凳了。今天,如果想跟上最新的技术时尚,那您的目标就是 Ajax。
但是,Ajax 不仅仅 是一种时尚,它是一种构建网站的强大方法,而且不像学习一种全新的语言那样困难。
请访问 Ajax 技术资源中心,这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、
blog、wiki 和新闻。任何新信息都能在这里找到。
基于J2EE的Ajax宝典
基于J2EE的Ajax宝典,很好很强大,
第1部分初识Ajax······ 1
第1章 Ajax入门··········· 2
1.1 重新思考Web应用····· 2
1.1.1 应用系统的发展史············· 2
1.1.2 传统Web应用的优势和缺点··············· 4
1.2 重新设计Web应用····· 5
1.2.1 RIA应用·········· 5
1.2.2 异步发送请求并避免等待···················· 7
1.2.3 使用Ajax·········· 7
1.3 Ajax简介··· 8
1.3.1 Ajax的工作方式················· 8
1.3.2 XMLHttpRequest················· 9
1.3.3 JavaScript语言·················· 10
1.3.4 HTML页面的DOM········ 10
1.3.5 数据交换和显示··············· 11
1.4 Ajax的基本特征········ 12
1.5 Ajax的替代技术········ 13
1.5.1 Sun的Java Web Start技术·················· 13
1.5.2 Microsoft的ClickOnce技术··············· 13
1.5.3 基于Flash的Flex············· 14
1.6 搭建开发运行环境···· 15
1.6.1 本书的Ajax环境·············· 15
1.6.2 Windows下JDK的安装···················· 15
1.6.3 Linux下JDK的安装······· 19
1.6.4 安装Tomcat服务器·········· 20
1.6.5 配置Tomcat的服务端口····················· 22
1.6.6 进入控制台···· 22
1.6.7 部署Web应用·················· 24
1.6.8 配置Tomcat的数据源······ 25
1.6.9 安装Ant工具··················· 28
1.6.10 安装Eclipse开发环境······ 28
1.6.11 在线安装········ 29
1.6.12 手动安装········ 30
1.7 小结········· 31
第2章 Ajax初体验···· 32
2.1 Ajax带来的优势········ 32
2.2 传统的JSP聊天室···· 34
2.2.1 实现业务逻辑组件··········· 35
2.2.2 实现控制器···· 38
2.2.3 实现视图········ 40
2.2.4 JSP聊天室的问题············ 41
2.3 Ajax聊天室················ 42
2.3.1 异步发送请求··················· 42
2.3.2 解决多余刷新的问题······· 44
2.3.3 解析服务器响应··············· 47
2.3.4 何时发送请求··················· 48
2.3.5 Ajax聊天室的特点··········· 52
2.4 传统Web应用与Ajax的对比····· 52
2.5 小结········· 53
第2部分 Ajax基本技术··············· 55
第3章 JavaScript关键语法详解················· 56
3.1 JavaScript简介··········· 56
3.2 数据类型和变量········ 57
3.2.1 定义变量的方式··············· 57
3.2.2 类型转换········ 58
3.2.3 变量················ 60
3.3 基本数据类型············ 62
3.3.1 数字类型········ 62
3.3.2 字符串类型···· 67
3.3.3 布尔类型········ 70
3.3.4 undefined和null················ 71
3.4 复合类型···················· 71
3.4.1 对象················ 72
3.4.2 数组················ 72
3.4.3 函数················ 73
3.5 运算符····· 75
3.5.1 赋值运算符···· 75
3.5.2 算术运算符···· 76
3.5.3 位运算符········ 78
3.5.4 加强的赋值运算符··········· 79
3.5.5 比较运算符···· 80
3.5.6 逻辑运算符···· 81
3.5.7 三目运算符···· 82
3.5.8 逗号运算符···· 84
3.5.9 void运算符···· 84
3.5.10 typeof运算符····················· 85
3.6 语句········· 85
3.6.1 语句块············ 85
3.6.2 空语句············ 86
3.6.3 异常抛出语句··················· 86
3.6.4 异常捕捉语句··················· 87
3.6.5 with语句········ 88
3.7 流程控制···················· 89
3.7.1 分支················ 89
3.7.2 while循环······· 91
3.7.3 do while循环····················· 92
3.7.4 for循环··········· 93
3.7.5 for in循环······· 94
3.7.6 break和continue··············· 95
3.8 函数········· 97
3.8.1 函数定义········ 98
3.8.2 局部变量和局部函数······· 99
3.8.3 匿名函数······ 100
3.8.4 函数的成员属性和静态属性············ 102
3.8.5 递归函数······ 104
3.9 函数的参数传递······ 106
3.9.1 基本类型参数和复合类型参数········ 106
3.9.2 空参数·········· 107
3.9.3 参数类型······ 108
3.10 对象······· 109
3.10.1 面向对象的概念··········· 109
3.10.2 JavaScript中的对象······ 110
3.10.3 继承和prototype··········· 110
3.11 创建对象·················· 114
3.11.1 使用new关键字创建对象·············· 115
3.11.2 使用Object直接创建对象·············· 115
3.11.3 使用JSON语法创建对象·············· 118
3.12 小结······· 119
第4章 XML详解······ 120
4.1 XML概述················ 120
4.1.1 标记语言······ 120
4.1.2 XML的定义和发展史··· 121
4.2 XML的文档规则···· 122
4.2.1 XML文档分类··············· 122
4.2.2 XML文档的整体结构··· 124
4.2.3 XML声明···· 125
4.2.4 XML元素···· 127
4.2.5 字符数据······ 129
4.2.6 注释·············· 131
4.2.7 处理指令······ 132
4.3 XML数据岛············ 133
4.3.1 数据岛概述····················· 133
4.3.2 在HTML文档中载入XML文档···· 134
4.3.3 将XML数据绑定到表格输出········· 134
4.4 DTD与Schema········ 137
4.4.1 内部DTD····· 137
4.4.2 外部DTD····· 138
4.4.3 公用DTD····· 139
4.5 DTD的语法············· 139
4.5.1 定义元素······ 140
4.5.2 定义子元素····················· 142
4.5.3 定义元素属性················· 146
4.5.4 定义实体引用················· 149
4.6 Schema的语法········· 151
4.6.1 Schema的基本语法········ 152
4.6.2 定义简单元素················· 152
4.6.3 定义元素的父子结构关系················ 153
4.6.4 引用元素······ 154
4.6.5 Schema中的内置类型···· 156
4.6.6 自定义简单数据类型····· 156
4.6.7 自定义复杂数据类型····· 160
4.6.8 定义空元素····················· 163
4.6.9 定义混合内容元素········· 164
4.6.10 定义属性······ 165
4.6.11 元素组与属性组············· 166
4.7 使用JavaScript解析DOM········ 168
4.7.1 DOM简介···· 168
4.7.2 解析XML文档·············· 169
4.7.3 创建XML文档·············· 172
4.8 小结······· 173
第5章使用CSS级联样式单··· 174
5.1 样式单概述·············· 174
5.2 CSS样式单的基本使用方式····· 175
5.2.1 引入外部样式文件········· 176
5.2.2 使用内部样式定义········· 177
5.2.3 使用内联样式················· 179
5.3 使用CSS属性········· 180
www.j2eedve.com
制作:找不着北 第 7 页 2007-7-27
5.3.1 文字相关属性················· 181
5.3.2 整体段落相关属性········· 182
5.3.3 背景相关属性················· 184
5.3.4 表格相关属性················· 186
5.3.5 大小相关属性················· 189
5.3.6 定位相关属性················· 189
5.3.7 边框相关属性················· 191
5.3.8 轮廓相关属性················· 194
5.3.9 常用属性······ 194
5.4 选择器定义·············· 196
5.4.1 属性选择器····················· 196
5.4.2 ID选择器····· 198
5.4.3 class选择······ 199
5.4.4 包含选择器和子元素选择器············ 199
5.4.5 超链接相关选择器········· 200
5.5 在脚本中修改显示样式············· 201
5.5.1 随机改变页面的背景色···················· 201
5.5.2 导航菜单效果················· 202
5.5.3 卷帘效果······ 203
5.5.4 动态增加立体效果········· 205
5.6 小结······· 206
第6章 DOM模型详解················ 207
6.1 DOM模型简介········ 207
6.1.1 DOM模型的概念··········· 207
6.1.2 DOM模型的作用··········· 208
6.2 XML和DOM模型···················· 208
6.2.1 XML和DOM················· 209
www.j2eedve.com
制作:找不着北 第 8 页 2007-7-27
6.2.2 使用DOM解析XML文档·············· 209
6.2.3 使用SAX解析XML文档··············· 212
6.2.4 使用DOM解析器创建XML··········· 215
6.3 HTML文档和DOM模型········· 217
6.3.1 HTML文档简介············· 217
6.3.2 HTML文档的DOM结构················ 218
6.4 DOM中的HTML元素············· 219
6.4.1 HTML元素之间的继承图················ 219
6.4.2 HTML元素之间的常见包含关系···· 220
6.5 使用JavaScript控制DOM········ 221
6.5.1 创建节点······ 221
6.5.2 修改节点······ 222
6.6 添加节点·················· 224
6.6.1 为下拉列表增加选项····· 225
6.6.2 动态生成表格················· 226
6.7 删除节点·················· 227
6.7.1 删除下拉列表的选项····· 229
6.7.2 删除表格的行或单元格···················· 230
6.8 两个常用范例·········· 232
6.8.1 可编辑表格····················· 232
6.8.2 导航菜单······ 234
6.9 小结······· 239
第7章事件处理机制·················· 240
7.1 基本事件模型·········· 240
7.1.1 绑定HTML元素属性···· 240
7.1.2 绑定对象属性················· 243
7.1.3 使用addEventListener方法绑定······· 246
www.j2eedve.com
制作:找不着北 第 9 页 2007-7-27
7.2 深入了解事件模型····················· 247
7.2.1 事件处理函数的范围····· 247
7.2.2 使用返回值改变默认行为················ 248
7.2.3 JavaScript中的MVC······ 249
7.2.4 在代码中触发事件········· 253
7.3 Netscape 4的事件模型··············· 255
7.3.1 事件对象······ 255
7.3.2 事件捕捉······ 257
7.4 Internet Explorer的事件模型······ 259
7.4.1 在Internet Explorer中绑定事件处理器··············· 259
7.4.2 使用script for绑定········· 259
7.4.3 使用attachEvent()方法执行绑定······· 260
7.4.4 事件对象······ 260
7.4.5 事件传递······ 264
7.4.6 重定向·········· 266
7.5 DOM级别2的事件模型··········· 268
7.5.1 绑定事件处理函数········· 269
7.5.2 事件传播和转发············· 270
7.5.3 取消事件的默认行为····· 271
7.5.4 控制事件传播················· 272
7.5.5 转发事件······ 273
7.5.6 DOM 2中的事件············ 274
7.6 小结······· 275
第8章使用DHTML动态操作HTML文档················· 276
8.1 DHTML和DOM两种模型······ 276
8.2 使用DHTML··········· 277
8.2.1 DHTML的包含体系······ 277
www.j2eedve.com
制作:找不着北 第 10 页 2007-7-27
8.2.2 使用Window对象·········· 278
8.3 文档对象·················· 284
8.4 表单和表单元素······ 286
8.4.1 表单和表单元素对象····· 286
8.4.2 Form对象的方法和属性··················· 287
8.4.3 Text和Textarea················ 288
8.4.4 Radio和ChechBox········· 289
8.4.5 Select和Option··············· 290
8.5 小结······· 294
第9章 XMLHttpRequest对象详解············ 295
9.1 XMLHttpRequest对象概述········ 295
9.2 XMLHttpRequest的方法和属性··················· 296
9.2.1 XMLHttpRequest的方法··················· 296
9.2.2 XMLHttpRequest的属性··················· 299
9.3 发送请求·················· 304
9.3.1 发送简单请求················· 304
9.3.2 发送GET请求················ 306
9.3.3 发送POST请求············· 310
9.3.4 发送请求时的编码问题···················· 311
9.3.5 发送XML请求·············· 316
9.4 处理服务器响应······ 318
9.4.1 处理的时机····················· 318
9.4.2 使用文本响应················· 319
9.4.3 使用XML响应·············· 319
9.4.4 使用DOM模型生成页面················· 321
9.5 XMLHttpRequest对象的运行周期··············· 322
9.6 Ajax必须解决的问题················· 322
www.j2eedve.com
制作:找不着北 第 11 页 2007-7-27
9.6.1 跨浏览器问题················· 323
9.6.2 安全问题······ 324
9.6.3 性能问题······ 326
9.7 小结······· 330
第3部分 Ajax常用框架············· 331
第10章 Prototype框架详解····· 332
10.1 Prototype的下载和安装··········· 332
10.1.1 Prototype概述············· 332
10.1.2 下载Prototype············· 333
10.1.3 安装Prototype············· 333
10.2 使用Prototype的基本函数······ 334
10.2.1 使用$()函数················· 334
10.2.2 使用$A()函数·············· 337
10.2.3 使用$F()函数··············· 339
10.2.4 使用$H()函数·············· 340
10.2.5 使用$R()函数·············· 341
10.2.6 使用Try.these()函数···· 342
10.3 Prototype的自定义对象和类··· 343
10.3.1 使用Element对象······· 343
10.3.2 使用Enumerable类····· 346
10.3.3 使用Field对象操作表单域··········· 350
10.3.4 使用Form对象操作表单·············· 351
10.3.5 使用Form.Element对象················ 353
10.3.6 使用Hash对象··········· 354
10.3.7 使用Class对象··········· 355
10.3.8 用于操作HTML元素的类··········· 356
10.3.9 常用的监听器·············· 357
www.j2eedve.com
制作:找不着北 第 12 页 2007-7-27
10.4 Prototype的常用扩展··············· 359
10.4.1 扩展Array··················· 359
10.4.2 扩展Document············ 361
10.4.3 扩展String··················· 361
10.4.4 扩展Event···················· 363
10.5 Prototype为Ajax增加的类····· 364
10.5.1 使用Ajax.Request类····················· 364
10.5.2 使用Ajax.Responders对象··········· 368
10.5.3 使用Ajax对象············ 369
10.5.4 使用Ajax.Updater类····················· 369
10.5.5 使用Ajax.PeriodicalUpdater类······ 374
10.6 小结····· 376
第11章基于Prototype的应用:实现自动完成功能················· 377
11.1 应用的基本分析和设计··········· 377
11.1.1 数据要求··· 377
11.1.2 数据表结构·················· 378
11.2 Domain Object和持久层·········· 378
11.2.1 Domain Object·············· 378
11.2.2 实现DAO组件··········· 381
11.3 实现Service组件··· 385
11.4 使用Servlet提供服务器响应····················· 388
11.4.1 实现根据前缀查询品牌················· 389
11.4.2 实现根据品牌查询型号················· 390
11.4.3 实现根据型号查询具体描述········· 391
11.5 客户端HTML页面实现·········· 392
11.6 增加HTML页面的事件响应能力············· 394
11.6.1 实现品牌输入框的事件处理函数···················· 395
www.j2eedve.com
制作:找不着北 第 13 页 2007-7-27
11.6.2 实现键盘事件处理函数················· 397
11.6.3 根据品牌提示型号······ 399
11.6.4 根据型号显示描述······ 401
11.6.5 注册Ajax事件监听器··················· 403
11.7 小结····· 404
第12章使用Dojo···· 405
12.1 初识Dojo··············· 405
12.1.1 Dojo概述····················· 405
12.1.2 下载和安装Dojo········· 406
12.2 了解Dojo的体系····················· 408
12.2.1 通用库······· 408
12.2.2 Ajax相关库················· 409
12.2.3 页面控件相关库·········· 409
12.2.4 其他相关库·················· 409
12.3 使用Dojo的通用库················· 410
12.3.1 使用djConfig对象······ 410
12.3.2 do对象的函数············· 412
12.3.3 字符串相关函数·········· 414
12.3.4 扩展函数··· 416
12.3.5 DOM相关函数··········· 421
12.4 Dojo的Ajax支持····················· 425
12.4.1 使用Dojo开发Ajax应用············· 425
12.4.2 发送请求的几种形式····················· 427
12.4.3 使用queueBind函数发送请求队列················· 431
12.4.4 使用dojo.io.setIFrameSrc函数代替XMLHttpRequest······ 431
12.4.5 使用dojo.io.argsFromMap函数···· 432
12.5 Dojo的事件机制··· 433
www.j2eedve.com
制作:找不着北 第 14 页 2007-7-27
12.5.1 简单的connect绑定···· 433
12.5.2 使用对象的方法作为事件处理器···················· 434
12.5.3 为非DOM元素绑定事件处理器···················· 435
12.6 基于connect的AOP实现······· 436
12.6.1 简单的before绑定······ 437
12.6.2 简单的around绑定····· 437
12.6.3 访问目标方法参数的绑定············· 439
12.6.4 与around绑定在一起使用的监听器··············· 440
12.7 connect绑定其他函数·············· 441
12.7.1 使用connectBefore······ 441
12.7.2 使用connectAround···· 441
12.7.3 使用connectOnce········ 442
12.7.4 使用kwConnect··········· 442
12.7.5 使用disconnect············ 443
12.7.6 使用kwDisconnect······ 443
12.8 基于Topic事件机制················· 443
12.9 Dojo的拖拉功能··· 444
12.9.1 自由拖动··· 445
12.9.2 有相对“坐标”的移动··· 446
12.9.3 带手柄的移动·············· 448
12.10 Dojo的常用widget·················· 449
12.10.1 按钮········· 449
12.10.2 对话框····· 451
12.10.3 日历········· 454
12.10.4 树············· 457
12.10.5 Tab页······ 459
12.11 Dojo与Prototype的对比········ 461
www.j2eedve.com
制作:找不着北 第 15 页 2007-7-27
12.12 小结····· 461
第13章基于Dojo的动态树····· 462
13.1 自关联Domain Object的设计···················· 462
13.2 基于Hibernate的DAO实现··· 464
13.2.1 DAO组件的接口········ 464
13.2.2 DAO组件的实现类···· 465
13.3 基于Spring的业务逻辑组件··· 467
13.3.1 业务逻辑组件的接口····················· 467
13.3.2 业务逻辑组件的实现类················· 468
13.3.3 配置Spring容器········· 471
13.4 基于Spring的集成测试··········· 473
13.5 Dojo树的相关Widget·············· 475
13.5.1 使用TreeContextMenu··················· 475
13.5.2 使用TreeRPCController················· 478
13.6 Dojo树的HTML页面实现····· 479
13.7 实现服务器响应Servlet··········· 484
13.7.1 实现getAllRoot··········· 484
13.7.2 实现updateNode·········· 486
13.7.3 实现createChild··········· 487
13.7.4 实现removeNode········ 489
13.7.5 实现getChildren·········· 490
13.8 与其他树的对比···· 491
13.9 小结····· 493
第14章使用DWR··· 494
14.1 DWR的下载和安装················· 494
14.1.1 DWR概述··················· 494
14.1.2 下载和安装DWR······· 495
www.j2eedve.com
制作:找不着北 第 16 页 2007-7-27
14.2 使用DWR·············· 500
14.2.1 编写处理类·················· 500
14.2.2 配置DWR··················· 502
14.3 使用DWR的转换器················ 504
14.3.1 基本转换器·················· 504
14.3.2 对象转换器·················· 504
14.3.3 数组转换器·················· 507
14.3.4 集合类型转换器·········· 508
14.4 方法声明················ 509
14.5 使用DWR的创建器················ 510
14.5.1 创建器的配置·············· 510
14.5.2 使用new创建器········· 512
14.5.3 使用none创建器········ 512
14.5.4 使用script创建器······· 513
14.6 调用服务器端的方法··············· 514
14.6.1 调用服务器端方法的通用配置····· 514
14.6.2 使用简单回调·············· 516
14.6.3 使用JSON格式的回调················· 524
14.6.4 将客户端参数传递到回调函数····· 526
14.7 使用engine.js········· 526
14.7.1 设置调用顺序·············· 527
14.7.2 设置全局超时时长······ 527
14.7.3 设置全局Hook函数··· 527
14.7.4 设置全局处理函数······ 528
14.7.5 设置常用的全局选项····················· 528
14.7.6 批处理······· 528
14.8 使用util.js··············· 529
14.8.1 使用$()······ 530
14.8.2 处理列表··· 530
14.8.3 处理表格··· 535
www.j2eedve.com
制作:找不着北 第 17 页 2007-7-27
14.8.4 访问HTML元素值···· 540
14.8.5 工具函数··· 542
14.9 整合第三方J2EE框架············· 545
14.9.1 访问Servlet API·········· 545
14.9.2 整合Spring·················· 546
14.9.3 整合Struts··················· 549
14.10 异常处理················ 551
14.11 反向Ajax················ 553
14.11.1 配置使用反向Ajax··· 553
14.11.2 在Java方法中操作Web页········· 554
14.11.3 在客户端调用反向Ajax方法····· 556
14.12 小结····· 557
第15章基于DWR的Ajax应用:即时消息系统····· 558
15.1 实现Hibernate持久