基本信息出版社:北京希望电子出版社
页码:480 页
出版日期:2010年01月
ISBN:9787894989888
条形码:9787894989888
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:新手学编程系列
图书品牌:中科希望
内容简介 《新手学Java Web开发》内容简介:Java Web开发是目前非常热门的跨平台动态Web开发技术,应用非常广泛,可用于开发各类Web应用程序。本手册由经验丰富的开发人员撰写,由浅入深地对Java Web所涵盖的各方面知识进行了系统而全面的阐述,是一本通俗易懂的Java Web开发入门教程。
本手册分3篇共18章,内容包括Java语言和Web应用开发概述、搭建Java Web开发环境、Web客户端技术基础、XML基础、Web容器与Servlet技术、JSP技术基础、在Servlet和JSP中访问数据库、JSP与JavaBean、用表达式语言(EL)简化JSP展示数据、JSP标准标签库(JSTL)、使用log4j记录Web应用程序日志、Web程序中的常见应用、Web应用程序中的安全常识、应用Ajax技术提高用户体验、使用Struts实现MVC、Hibernate应用详解、JavaEE轻量级容器Spring应用等,最后通过Struts+Spring+Hibernate网上购物系统程序实例,详细介绍了制作步骤,让读者融会贯通,另外还提供了网络术语解释供读者参考。
本光盘内容为实例源代码、语音视频教学及电子教案(PPT)。
本光盘及配套手册由北京希望电子出版社独家发行,未经出版者书面许可,任何单位和个人不得擅自摘抄、复制光盘和本手册的部分或全部内容,并以任何方式进行传播。
编辑推荐 《新手学Java Web开发》:打开Java Web开发程序设计大门的金钥匙
◎由浅入深:从基本概念开始讲解,逐步深入到实际开发
◎实例丰富:讲解知识点时穿插了50多个实例,有较强的实用性
◎面向就业:提供了常见面试题,帮助读者了解入职面试的相关知识
◎案例典型:提供了1个取材于实际项目的案例,提高读者开发水平
◎视频教学:提供了6.5小时多媒体教学视频,学习起来更加直观
光盘内容
◎6.5小时多媒体教学视频
◎案例源代码
◎教学PPT
读者对象
◎Java Web开发的新手
◎有Java基础,想学习Web开发的人员
◎相关编程爱好者
◎大中专院校的学生
◎相关社会培训班学员
涵盖的主要内容
◎Java语言和Web应用开发概述 ◎JSP标准标签库(JSTL)
◎搭建Java Web开发环境 ◎使用Iog4j记录Web应用程序日志
◎Web开发客户端技术基础 ◎Web程序中的常见应用问题及解决方案
◎XML基础 ◎Web程序中的常见安全问题及解决方案
◎Web容器及Servlet技术 ◎应用Ajax技术提高用户体验
◎JSP技术基础 ◎Struts框架技术
◎在Servlet和JSP中访问数据库 ◎Hibernate框架技术
◎JavaBean在JSP中的使用 ◎Spring框架技术
◎表达式语言在JSP中的使用 ◎网上购物系统(Struts+Spring+Hibernate实现)
系列特色
◎定位明确,专门为没有编程基础的读者量身打造
◎配多媒体教学视频进行讲解,读者很容易上手
◎重视对概念的讲解,初学人员阅读起来没有任何障碍
◎提供了丰富的典型示例,帮助读者理解相关知识点
◎提供了综合案例,帮助读者提高实际开发水平
◎讲解清楚,操作步骤明确,代码注释丰富,易于掌握
◎作者大多从事编程工作多年,有丰富的开发经验
目录
第1篇 基础篇
第1章 Java语言和Web应用开发概述
1.1 Java语言简介
1.1.1 Java语言的特点
1.1.2 Java语言的发展现状
1.1.3 Java语言的发展前景
1.2 Web应用开发简介
1.2.1 Web程序的运行机制
1.2.2 Web的特点
1.2.3 Web技术的发展
1.2.4 开发一个Web应用的基本步骤
1.3 用Java进行Web应用开发
1.3.1 JavaWeb开发的基本思想
1.3.2 JavaEE与.NET技术比较
1.4 常见面试题
1.5 小结
1.6 习题
第2章 搭建JavaWeb开发环境
2.1 安装JDK
2.1.1 下载并安装JDK
2.1.2 设置环境变量
2.1.3 小试牛刀-Helloworld
2.2 安装集成开发环境Eclipse
2.2.1 下载并安装Eclipse
2.2.2 Eclipse调试Java程序
2.2.3 Eclipse使用技巧
2.2.4 下载并安装MyEclipse
2.3 安装Tomcat
2.3.1 下载并安装Tomcat
2.3.2 将Tomcat集成到MyEclipse中
2.3.3 管理Tomcat中的Web应用程序
2.4 常见面试题
2.5 小结
2.6 习题
第3章 Web客户端技术基础
3.1 快速掌握HTML
3.1.1 HTML概述
3.1.2 第一个HTML页面
3.1.3 控制段落和文本的标签
3.1.4 注释
3.1.5 如何输入特殊字符
3.1.6 表格相关标签
3.1.7 HTML交互式表单
3.1.8 其他常用的标签
3.2 CSS基础知识
3.2.1 CSS概述
3.2.2 如何将CSS嵌入到网页
3.2.3 CSS的语法基础
3.3 JavaScript基础知识
3.3.1 JavaScript概述
3.3.2 浏览器中的JavaScript对象模型
3.3.3 JavaScnpt的事件模型
3.4 HTML+CSS+JavaScript应用举例
3.4..1 二级联动菜单实例
3.4.2 表格背景变色实例
3.4.3 推拉式菜单
3.5 常见面试题
3.6 小结
3.7 习题
第4章 XML基础
4.1 XML概述
4.1.1 什么是XML
4.1.2 XML与HTML的比较
4.2 XML基础语法
4.2.1 基本组成部分
4.2.2 XML声明
4.2.3 标签规则
4.2.4 注释
4.2.5 格式良好的XML
4.3 文本类型定义—TD)概述
4.3.1 什么是DTD
4.3.2 有效的XML
4.4 XML的命名空间
4.4.1 <标签名xmlns:prefixname=“URI”>
4.4.2 <标签名xmlns=“URI”>
4.5 常见面试题
4.6 小结
4.7 习题
第5章 Web容器与Servlet技术
5.1 Servlet概述
5.1.1 什么是Servlet
5.1.2 Web容器与Servlet
5.1.3 理解Servlet上下文
5.1.4 开发Servlet的基本步骤
5.1.5 初识Servlet实例:HelloServlet
5.2 Servlet生命周期
5.2.1 生命周期中的4个基本阶段
5.2.2 如何在初始化时获取参数
5.3 Servlet获取客户端参数
5.3.1 参数传递的方式
5.3.2 获取客户端参数
5.3.3 用Servelt实现用户登录实例
5.4 会话的管理
5.4.1 如何跟踪一个用户
5.4.2 会话中保存用户资料
5.4.3 实例:用户请求次数的统计
5.5 请求转发
5.5.1 Servlet如何转发HTTP请求
5.5.2 请求转发的实例
5.6 过滤器
5.6.1 什么是过滤器
5.6.2 过滤用户非法访问的实例
5.7 Web应用程序事件监听器
5.7.1 什么是Web应用程序事件
5.7.2 访问用户数统计实例
5.8 常见面试题
5.9 小结
5.10 习题
第6章 JSP技术基础
6.1 JSP简介
6.1.1 什么是JSP
6.1.2 JSP的运行机制
6.2 JSP的基础语法
6.2.1 指令元素
6.2.2 脚本元素
6.2.3 动作元素
6.2.4 注释
6.2.5 用JSP实现用户登录实例
6.3 JSP的一些高级概念
6.3.1 JSP中的内置对象及其作用
6.3.2 JSP中的4种范围
6.3.3 留言板程序实例
6.4 常见面试题
6.5 小结
6.6 习题
第7章 在Servlet和JSP中访问数据库
7.1 JDBC概述
7.1.1 JDBC的工作原理
7.1.2 使用JDBC进行数据库操作的基本步骤
7.2 下载安装数据库MySQL
7.2.1 下载和安装MySQL
7.2.2 使用MySQL客户端工具操作数据库
7.3 使用JDBC的事务
7.3.1 什么是事务
7.3.2 如何在JDBC中使用事务
7.4 用户的添加、删除、查询、修改实例
7.4.1 实例思路
7.4.2 实例开发过程
7.5 使用Tomcat的数据库连接池
7.5.1 什么是数据库连接池
7.5.2 如何使用tomcat提供的数据库连接池
7.5.3 Tomcat数据库连接池应用实例
7.6 常见面试题
7.7 小结
7.8 习题
第8章 JSP与JavaBean
8.1 可重用组件JavaBean简介
8.1.1 什么是可重用的组件
8.1.2 JavaBean规范
8.2 JSP使用JavaBean
8.2.1 JSP如何使用JavaBean
8.2.2 JSP使用JavaBean的标详解
8.2.3 实例:比较两个数字大小JavaBean
8.3 用JavaBean封装数据库底层处理
8.3.1 JavaBean封装数据库操作的基本思想
8.3.2 JavaBean封装添加数据操作
8.3.3 JavaBean封装删除数据操作
8.3.4 JavaBean封装修改数据操作
8.3.5 JavaBean封装查询数据操作
8.4 JSP+JavaBean实现分页查询
8.4.1 如何实现逻辑分页
8.4.2 如何实现物理分页
8.5 常见面试题
8.6 小结
8.7 习题
第9章 用表达式语言(EL)简化JSP展示数据
9.1 EL在JSP中使用的基本思想
9.2 EL基本语法
9.2.1 “.”和“[]”操作符
9.2.2 算术操作符
9.2.3 比较操作符
9.2.4 逻辑操作符
9.2.5 Empty操作符
9.3 EL命名变量和隐含对象
9.3.1 命名变量
9.3.2 隐含对象
9.4 实例:用EL展示用户数据
9.5 常见面试题
9.6 小结
9.7 习题
第10章 JSP标准标签库(JSTL)
10.1 JSP标签库和JSTL概述
10.1.1 什么是JSP标签库
10.1.2 为什么使用JSTL
10.2 JSTL核心标签库(Core)
10.2.1 一般用途标签
10.2.2 使用迭代标签
10.2.3 使用
10.2.4 使用
10.3 JSTL数据库标签库(SQL)
10.3.1 使用
10.3.2 使用
10.3.3 使用
10.3.4 使用
10.4 JSTL函数标签库(Function)
10.4.1 布尔表达式函数
10.4.2 整型表达式函数
10.4.3 字符修改函数
10.5 常见面试题
10.6 小结
10.7 习题
第2篇 进阶篇
第11章 使用log4j记录Web应用程序日志
11.1 log4j概述
11.1.1 Logger组件
11.1.2 Appender组件
11.1.3 Layout组件
11.2 使用log4j
11.3 Web应用程序使用log4j实例
11.4 常见面试题
11.5 小结
11.6 习题
第12章 Web程序中的常见应用
12.1 如何解决中文乱码问题
12.1.1 常见字符集
12.1.2 中文乱码产生的由来
12.1.3 中文乱码问题的解决方案
12.1.4 使用过滤器解决中文乱码问题
12.2 如何生成图像的缩略图
12.2.1 缩略图的作用和原理
12.2.2 用缩略图替代原图展示商品的实例
12.3 如何生成动态图形验证码
12.3.1 图形验证码的作用和原理
12.3.2 需要输入图形验证码的用户注册程序实例
12.4 如何避免表单的重复提交
12.4.1 避免表单重复提交的原理
12.4.2 避免用户重复提交表单实例
12.5 如何处理会话超时
12.5.1 用户会话超时引起的问题
12.5.2 用过滤器解决用户会话超时问题
12.6 常见面试题
12.7 小结
12.8 习题
第13章 Web应用程序中的安全常识
13.1 理解HTFP验证机制
13.2 在Tomcat中使用声明式安全机制
13.2.1 基本验证的实现
13.2.2 基于表单验证的实现
13.3 防范SQL注入
13.3.1 什么是SQL注入
13.3.2 防范SQL注入实例
13.4 常见面试题
13.5 小结
13.6 习题
第14章 应用Ajax技术提高用户体验
14.1 A1ax概述
14.1.1 什么是Ajax技术
14.1.2 Ajax的组成技术和工作原理
14.1.3 Ajax的优点和缺点
14.1.4 我的第一个Ajax程序
14.2 开发Ajax的一般步骤
14.2.1 用XMLHttpRequest对象发送请求
14.2.2 服务器端处理请求并返回结果
14.2.3 客户端解析返回结果和做出相应的响应
14.3 Ajax应用实例
14.3.1 注册信息输入验证
14.3.2 三级联动菜单
14.4 常见面试题
14.5 小结
14.6 习题
第15章 使用Struts实现MVC
15.1 Struts概述
15.1.1 MVC模式
15.1.2 Struts基础
15.1.3 我的第一个Struts应用程序
15.2 Struts开发的一般步骤
15.2.1 搭建开发环境
15.2.2 实现View-JSPs
15.2.3 实现Model-ActionForms
15.2.4 实现Contorller-Actions
15.2.5 访问Action的URL
15.3 Struts标签库
15.3.1 Bean常用标签
15.3.2 HTML常用标签
15.4 Struts高级特性
15.4.1 使用多种Action
15.4.2 使用多种ActionForm
15.5 Struts+JDBC实现学籍管理系统
15.5.1 系统设计思路
15.5.2 系统开发过程
15.6 常见面试题
15.7 小结
15.8 习题
第16章 Hibernate应用详解
16.1 Hibernate概述
16.1.1 对象关系映射(ORM)背景介绍
16.1.2 Hibernate基础
16.1.3 我的第一个Hibernate程序
16.2 使用Hibernate的一般步骤
16.2.1 Hibernate所需的jar文件和配置文件
16.2.2 创建POJO实体
16.2.3 数据库建表
16.2.4 映射配置文件
16.2.5 使用HibernateAPI操作数据
16.3 ID生成策略
16.4 关系映射
16.4.1 一对一映射
16.4.2 一对多映射
16.4.3 多对多映射
16.5 继承映射
16.5.1 单表实现
16.5.2 每个子类一张表实现
16.6 实体对象的生命周期
16.7 Hibernate中的查询功能
16.7.1 用get()和load()方法获取单个实体对象
16.7.2 HQL查询语言
16.7.3 分页查询
16.7.4 延迟加载
16.8 Struts+Hibemate实现学生选课系统
16.8.1 系统设计思路
16.8.2 系统开发过程
16.9 常见面试题
16.10 小结
16.11 习题
第17章 JavaEE轻量级容器Spring应用
17.1 Spring概述
17.1.1 Web应用程序分层
17.1.2 为什么使用Spnng
17.1.3 Spring的体系结构
17.2 SpringIOC容器
l7.2.1 理解依赖注入(IOC)
17.2.2 依赖注入的方式
17.2.3 如何启动IOC容器
17.2.4 实例:Spring创建分层Java应用程序
17.3 SpringAOP实现
17.3.1 理解AOP思想
17.3.2 实例:使用AOP记录访问日志
17.3.3 在spring中使用声明式事务
17.4 在Web应用程序中整合Struts+Spring+Hibernate
17.5 常见面试题
17.6 小结
17.7 习题
第3篇 实战篇
第18章 Struts+Spring+Hibernate网上购物系统
18.1 系统概述
18.2 系统总体设计
18.2.1 领域模型设计
18.2.2 业务逻辑设计
18.2.3 界面设计
18.2.4 其他设计
18.3 持久层设计
18.3.1 数据库设计
18.3.2 Hibernate映射策略设计
18.3.3 Hibernate数据源的配置
18.3.4 数据访问刘象—AO)设计
18.4 业务逻辑组织
18.4.1 用例分析及实现
18.4.2 使用Spring声明式事务
18.5 用Struts调用业务层并展示信息
18.5.1 Action与ActionForm的设计
18.5.2 使用JSP+JSTL+EL展示信息
18.6 其他功能实现
18.6.1 用Constants类来定义常量
18.6.2 用过滤器器防止用户非法访问后台
18.7 小结
附录 网络术语解释
……
序言 Java Web开发已有十余年的历史,技术的更新换代已经很多次了。因此,有许多技术涌现出来,也有许多技术慢慢退出历史舞台。开发界在Java Web应用开发方面积累了许多好的经验,很多东西都是开发人员从漫长的开发经历中获得的,其间付出了许多的代价,例如:大量代码性能很差、代码冗余度高、几乎不具有可维护性等。在技术转新的时候,这是可以理解的,但是今天的初学者就不应该重复这些错误了。
本手册主要面向的是Java Web开发的初学者,他们应该具有一定的Java开发基础,对Web开发也有一定的了解。他们应该站在前人的肩膀上,学习前人总结的精华,并把这些技术进一步发扬光大。本手册由经验丰富的开发人员编写,希望能与读者分享各种心得体会。
本手册涵盖了Java Web开发的许多方面,既包括基础知识的讲解,也有对如何提高开发技术的介绍。每个知识点都配有相应的示例,让读者充分地参与实践过程,并在实践的同时牢牢掌握这些知识点。正确地学习Java Web开发的方法
首先,需要阐明一点公认的学习IT技术比较好的方法:第1步是知道它是什么;第2步了解它如何使用;第3步问问自己为什么这么用。当把这三个问题搞清楚以后,你不仅掌握了这项技术,还可以对它进行扩展或改良,把他人的东西变成自己的。
学习Java Web开发,以上这三点显得尤为重要,因为Java Web领域的每一项技术都具有很强的实践性和探索性。例如,JSP是一项动态网页技术,它可以用于写业务逻辑、存储数据、展示数据等方面,但是经过不断的实践与探索,人们发现JSP应当只用于表示,而不应在其中混杂控制代码和逻辑代码。有一些实践经验总结是前辈给出的,但是有一些却需要自己去总结。本手册在对基础知识进行介绍的同时,也对这些业界普遍认可的实践思想进行总结和概括,其中一些实践思想如下。
有效地使用正确的工具
使用工具来帮助你完成Web开发工作,如:开发和调试环境、构建和部署工具、性能分析工具等。这些工具可以为开发者带来事半功倍的效果,极大地提高开发效率。本手册第2章将详细讲解如何搭建高效的Java Web开发环境。
JSP是一种表示技术
JSP应当只用于表示,而不应在其中混杂控制代码和逻辑代码。本手册强调这样的使用方法,许多实例也倾向于该使用方式。
在适当的情况下使用设计模式
当你遇到某一个问题时,你始终应该有这样的想法:以前也有其他人遇见过,可能已经解决了。设计模式是对同一类问题的解决方案,它是该类问题的最佳实践。因此,在适当的时候使用设计模式可以避免许多老问题,从而把更多的精力放在业务逻辑上面来。
文摘 插图:

4.并发编程
Java的并发编程主要指的是多线程编程。不像其他语言(如:C/C++、VB等)的多线程编程处于系统级,也就是需要调用操作系统的API来实现多线程,不具有移植性;Java的多线程模式体现为语言级,在Windows上编写的多线程程序可以放到UNIX中去运行,也体现了Java跨平台性的一个方面。Java的并发编程应用非常广泛,比如之后会介绍到的Web服务器,它负责接收客户端的请求,就需要并发地去处理这些请求。
Java的多线程API使用很方便,线程之间的通信也极其容易,而且它屏蔽了各操作系统之间的差异,让程序员更易理解。Java从1.5版本开始,提供了线程池的使用,使得多线程代码与业务代码有机地解耦合,也使得多线程程序的代码维护性更强了。
5.异常处理机制
异常处理机制在现在的很多编程语言中都有所涉及,但是Java是最早最广泛使用这一机制的语言。这一机制有一个核心优点,很好地帮助定位各类错误,使得程序更健壮和更友好。Java的异常主要分为两类,一个是受查异常,它主要用于程序之间或模块之间的信号交互,比如模块A调用模块B,B就告诉A可能会抛出某某异常,A就必须要进行处理;另一个是运行时异常,它往往是一些不可预料的异常,如网络中断、空指针等,它是可以不进行显式处理的。不管异常是来自于外界不可抵抗力还是程序员的代码质量问题,都需要给程序的最终用户一个交代,让用户知道是哪里出了问题,使得程序更健壮和友好。
6.丰富的类库
Java语言的类库首先来自于JDK本身自带的类库,它包含了语言、图形、IO、并发、数据结构、数据库访问、工具类等类库,这些也是开发的基础。开发者通过调用它们就可以完成一些常用的基本功能,而不用自己去实现,为开发带来了极大的方便。如果要实现其他的功能,就需要使用其他的类库,这些类库大多来自于世界范围内的开源社区,而且基本上都是免费的。
在开源社区里,Java一直都是一个相当活跃的成员,这与Sun公司长年以来坚持开源思想是密不可分的。正是Java的开放性,吸引了广大的开发人员贡献自己的力量。从Java企业开发角度来看,除了Sun公司自己的.Java EE以外,还有Spring、Hibernate、Struts等各种优秀的框架,提供了功能丰富的类库以供开发者使用。