内容简介
本书从入门学角度出发,通过通俗易懂的语言、丰富典型的实例,循序地使读者在实践中学va编程知识,并提升自己的实际开发能力。全书共有17章,具体内括初识Java、Java语言基础、运算符与流程控制、面向对象基础、继承与多态、接口、异常处理、常用类、JSP基本语法、JSP内置对象、Servlet技术、过滤器和监听器、Struts2框架、Hibernate技术、Spring框架、Spring与Struts2、Hibernate框架的整合和Spring与SpringMVC、MyBatis框架的整合。书中的大部分知识都结合具体实行介绍,涉及的程序代码也大多给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。
目录
目录篇?Java基础第1章 初识Java 11.1 Java简介 11.2 Java的版本 11.3 Java API文档 3第2章 Java语言基础 42.1 标识符和关键字 42.1.1 Unicode字符集 42.1.2 关键字 42.1.3 标识符 52.2 常量与变量 52.2.1 常量的概念及使用要点 52.2.2 变量的概念及使用要点 72.3 数据类型 72.3.1 基本数据类型 82.3.2 引用数据类型 122.3.3 基本类型与引用类型的区别 132.3.4 数据类型之间的相互转换 162.4 数组 192.4.1 声明数组 192.4.2 创建数组 202.4.3 初始化数组 202.4.4 数组长度 202.4.5 使用数组元素 21第3章 运算符与流程控制 223.1 运算符 223.1.1 赋值运算符 223.1.2 算术运算符 223.1.3 关系运算符 243.1.4 逻辑运算符 253.1.5 位运算符 273.1.6 对象运算符 303.1.7 其他运算符 303.1.8 运算符的优先级及结合 313.2 if语句 323.2.1 简单的if条件语句 333.2.2 if…else条件语句 343.2.3 if…else if多分支语句 353.2.4 if语句的嵌套 363.3 switch多分支语句 383.4 if语句和switch语句的区别 403.5 循环语句 403.5.1 for循环语句 403.5.2 while循环语句 423.5.3 do…while循环语句 433.5.4 循环的嵌套 453.6 跳转语句 473.6.1 break跳转语句 473.6.2 continue跳转语句 483.6.3 return跳转语句 48第4章 面向对象基础 504.1 面向对象程序设计 504.1.1 面向对象程序设计概述 504.1.2 面向对象程序设计的特点 514.2 类 534.2.1 定义类 534.2.2 成员变量和局部变量 544.2.3 成员方法 564.2.4 注意事项 574.2.5 类的UML图 584.3 构造方法与对象 584.3.1 构造方法的概念及用途 584.3.2 对象的概述 604.3.3 对象的创建 604.3.4 对象的使用 614.3.5 对象的销毁 624.4 类与程序的基本结构 624.5 参数传值 634.5.1 传值机制 634.5.2 基本数据类型的参数传值 634.5.3 引用类型参数的传值 644.6 对象的组合 654.6.1 组合与复用 654.6.2 类的关联关系和依赖关系的UML图 674.7 实例方法与类方法 674.7.1 实例方法与类方法的定义 674.7.2 实例方法与类方法的区别 684.8 关键字this 684.9 704.9.1的概念 704.9.2 创 714.9.3 使中的类 714.10 访问权限 72第5章 继承与多态 755.1 继承简介 755.1.1 继承的概念 755.1.2 子类对象的创建 765.1.3 继承的使用原则 765.1.4 关键字super 775.2 子类的继承 785.3 多态 805.3.1 方法的重载 815.3.2 避免重载出现的歧义 825.3.3 方法的覆盖 825.3.4 向上转型 845.4 抽象类 855.4.1 抽象类和抽象方法 865.4.2 抽象类和抽象方法的规则 885.4.3 抽象类的作用 885.5 关键字final 885.5.1 final变量 895.5.2 final类 895.5.3 final方法 905.6 内部类 90第6章 接口 976.1 接口简介 976.2 接口的定义 976.3 接口的继承 986.4 接口的实现 996.5 接口与抽象类 1016.6 接口的UML图 1026.7 接口回调 1026.8 接口与多态 1046.9 接口参数 1056.10 面向接口编程 106第7章 异常处理 1077.1 异常概述 1077.2 异常的分类 1087.2.1 系统错误――Error 1097.2.2 异常――Exception 1097.3 捕捉并处理异常 1127.3.1 try…catch代码块 1137.3.2 finally代码块 1167.4 在方法中抛出异常 1177.4.1 使用关键字throws抛出异常 1177.4.2 使用关键字throw抛出异常 1187.5 自定义异常 1207.6 异常处理的使用原则 121第8章 常用类 1238.1 String类 1238.1.1 创建字符串对象 1238.1.2 连接字符串 1248.1.3 字符串操作 1258.1.4 格式化字符串 1318.1.5 对象的字符串表示 1328.2 StringBuffer类 1338.2.1 StringBuffer对象的创建 1338.2.2 StringBuffer类的常用方法 1348.3 日期的格式化 1358.3.1 Date类 1368.3.2 格式化日期和时间 1368.4 Math类和Random类 1408.5装类 1418.5.1 Integer类 1418.5.2 Boolean类 1448.5.3 Byte类 1468.5.4 Character类 1478.5.5 Double类 1498.5.6 Number类 150篇?Java Web第9章 JSP基本语法 1519.1 了解JSP页面 1519.2 指令标识 1529.2.1 page指令 1539.2.2 include指令 1559.2.3 taglib指令 1589.3 脚本标识 1589.3.1 JSP表达式(expression) 1599.3.2 声明标识(Declaration) 1599.3.3 代码片段 1609.4 注释 1619.4.1 HTML中的注释 1629.4.2 带有JSP表达式的注释 1629.4.3 隐藏注释 1639.4.4 动态注释 1659.5 动作标识 1659.5.1含文件标识<jsp:include> 1659.5.2 请求转发标识<jsp:forward> 1689.5.3 传递参数标识<jsp:param> 170第10章 JSP内置对象 17110.1 JSP内置对象的概述 17110.2 request对象 17110.2.1 访问请求参数 17110.2.2 在作用域中管理属 17310.2.3 获取cookie 17510.2.4 解决中文乱码 17810.2.5 获取客户端信息 17910.2.6 显示化信息 18110.3 response对象 18210.3.1 重定向网页 18210.3.2 处理文件头 18210.3.3 设置输出缓冲 18310.4 session对象 18410.4.1 创建及获取客户的会话 18410.4.2 从会话中移动指定的绑定对象 18510.4.3 销毁session对象 18610.4.4 会话超时的管理 18610.4.5 session对象的应用 18610.5 application对象 18910.5.1 访问应用程序初始化参数 18910.5.2 管理应用程序环境属 19010.6 out对象 19010.6.1 向客户端浏览器输出信息 19110.6.2 管理响应缓冲 19210.7 其他内置对象 19210.7.1 获取页面上下文的pageContext对象 19210.7.2 读取web.xml文件配置信息的config对象 19310.7.3 应答或请求的page对象 19410.7.4 获取异常信息的exception对象 195第11章 Servlet技术 19711.1 Servlet基础 19711.1.1 Servlet结构体系 19711.1.2 Servlet技术特点 19811.1.3 Servlet与JSP的区别 19911.1.4 Servlet代码结构 20011.2 Servlet API编程常用接口和类 20111.2.1 Servlet接口 20211.2.2 ServletConfig接口 20311.2.3 HttpServletRequest接口 20311.2.4 HttpServletResponse接口 20411.2.5 GenericServlet类 20411.2.6 HttpServlet类 20411.3 Servlet开发 20511.3.1 Servlet创建 20511.3.2 Servlet 2.0配置方式 209第12章 过滤器和监听器 21112.1 Servlet过滤器 21112.1.1 什么是过滤器 21112.1.2 过滤器对象 21212.1.3 过滤器对象的创建与配置 21312.1.4 字符编码过滤器 21812.2 Servlet监听器 22412.2.1 Servlet监听器简介 22412.2.2 Servlet监听器的原理 22412.2.3 Servlet上下文监听 22512.2.4 会话监听 22612.2.5 Servlet请求监听 22712.2.6 Servlet监听器统计在线人数 227第三篇?框架第13章 Struts2框架 23213.1 MVC设计模式 23213.2 Struts2概述 23313.2.1 Struts2的产生 23313.2.2 Struts2的结构体系 23413.3 Struts2入门 23513.3.1 获取与配置Struts2 23513.3.2 创建个Struts2程序 23613.4 Action对象 23913.4.1 认识Action对象 23913.4.2 请求参数的注入原理 24013.4.3 Struts2的基本流程 24013.4.4 动态Action 24113.4.5 应用动态Action 24213.5 Struts2的配置文件 24413.5.1 Struts2的配置文件类型 24513.5.2 配置Struts 24513.5.3 配置名称空间 24613.5.4 Action对象的相关配置 24613.5.5 使用通配符简化配置 24813.5.6 配置返回视图 24913.6 Struts2的标签库 25013.6.1 数据标签 25013.6.2 控制标签 25313.6.3 表单标签 25513.7 Struts2的开发模式 25713.7.1 实现与Servlet API的交互 25713.7.2 域模型DomainModel 25813.7.3 驱动模型ModelDriven 25913.8 Struts2的拦截器 26113.8.1 拦截器概述 26113.8.2 拦截器API 26213.8.3 使用拦截器 26313.9 数据验证机制 26513.9.1 手动验证 26513.9.2 验证文件的命名规则 26613.9.3 验证文件的编写风格 266第14章 Hibernate技术 26914.1 初识Hibernate 26914.1.1 理解ORM原理 26914.1.2 Hibernate简介 27014.2 Hibernate入门 27114.2.1 获取Hibernate 27114.2.2 Hibernate配置文件 27114.2.3 了解并编写持久化类 27314.2.4 Hibernate映射 27514.2.5 Hibernate主键策略 27614.3 Hibernate数据持久化 27714.3.1 Hibernate实例状态 27714.3.2 Hibernate初始化类 27814.3.3 保存数据 28014.3.4 查询数据 28114.3.5 删除数据 28314.3.6 修改数据 28414.3.7 延迟加载 28514.4 HQL检索方式 28614.4.1 了解HQL查询语言 28714.4.2 实体对象查询 28714.4.3 条件查询 28814.4.4 HQL参数绑定机制 28914.4.5 排序查询 29014.4.6 聚合函数的应用 29014.4.7 分组方法 29014.4.8 联合查询 29114.4.9 子查询 292第15章 Spring框架 29415.1 Spring概述 29415.1.1 Spring组成 29415.1.2 下载Spring 29515.1.3 配置Spring 29615.1.4 使用BeanFactory类 29715.1.5 使用ApplicationContext容器 29815.2 Spring IoC 29915.2.1 控制反转与依赖注入 29915.2.2 配置Bean 30015.2.3 Setter注入 30115.2.4 构造器注入 30215.2.5 引用其他Bean 30415.2.6 创建匿名内部类JavaBean 30515.3 AOP概述 30615.3.1 AOP术语 30615.3.2 AOP的简单实现 30815.4 Spring的切入点 30915.4.1 静态与动态切入点 30915.4.2 深入静态切入点 31015.4.3 深入切入点底层 31115.4.4 Spring中的其他切入点 31215.5 Aspect对AOP的支持 31215.5.pect概述 31215.5.2 Spring中的Aspect 31315.5.3 DefaultPointcutAdvisor切入点配置器 31415.5.4 NameMatchMethodPointcutAdvisor切入点配置器 31515.6 Spring持久化 31515.6.1 DAO模式 31515.6.2 Spring的DAO理念 31615.6.3 事务管理 31815.6.4 使用JdbcTemplate类操作数据库 32215.6.5 与Hibernate整合 32415.6.6 整合Spring与Hibernate在tb_user表中添加信息 325第16章 Spring与Struts2、Hibernate框架的整合 32716.1 框架整合的优势 32716.2 SSH2框架结构分析 32816.3 构建SSH2框架 32816.3.1 配置web.xml文件 32916.3.2 配置Spring 33016.3.3 配置Struts2 33116.3.4 配置Hibernate 33616.4 实现MVC编码 33716.4.1 JSP完成视图层 33716.4.2 Struts2完成控制层 34116.4.3 Hibernate完成数据封装 34616.5 SSH2实例程序部署 349第17章 Spring与SpringMVC、MyBatis框架的整合 35117.1 什么是SSM框架 35117.1.1 MyBatis简介 35117.1.2 SpringMVC简介 35117.2 为什么使用SSM框架 35217.3 如何使用SSM框架 35317.3.1 搭建框架环境 35317.3.2 创建实体类 35817.3.3 编写持久层 35917.3.4 编写业务层 36117.3.5 创建控制层 36417.3.6 配置SpringMVC 36417.3.7 实现控制层 36817.3.8 JSP页面展示 37017.4 一个完整的SSM应用 374
摘要与插图
; Java是一种台的、面向对象的程序设计语言。本章将简单介绍Java的不同版本及其相关特,以及学好Java的方法等,然后对Java环境的搭建、Eclipse的下载及使行详细的讲解,后对基本的Java程序调试步行讲解。
;;Java是一种的、面向对象的程序设计语言。使用Java编写的程序可以在各种不同的系统中运行,从普通的个人计算机到智能手机、网络服务器等都有使用Java开发的程序a这让Java成为当今编程领域中受欢迎的开发语言之一。
;;Java是于1995年由Sun公司推出的一种极富创造力的、面向对象的程序设计语言,它是由有Java之父之称的Sun研究院院士詹姆斯·戈士林博士亲手设计而成的,并且詹姆斯。戈士林博士还完成了Java技术的原始编译器和虚拟机的设计。Java初的名字是OAK,在1995年被重命名为Java,并正式发布。
;;Java是一种通过解释方式来执行的语言,其语法规则和c++类似。同时,Java是一种台的程序设计语言。使用Java编写的程序,可以运行在任台和设备上,如个k~-lt机、MAC苹果计算机、各种微处理器硬台,以及Windows、UNIX、OS/2、maeOS等系台,真正实现了“一次编写,到处运行”。Java适用于企业网络和latcmet环境,并且已经成为Inter中具有影响力、受欢迎的编程语言之一。
;;Java主要分为两个版本:Java SE和Java EE。
;;Java sE是Java的标准版,主要用于桌面应用程序的开发,含了Java语言基础、BC(Java数据库连接)、I/O(输入/输出)、多线程等技术。
;;;;Java EE是Java的企业版,主要用于服务器应用程序的开发,如网站、服务器接口等,其核心为EJB(企业Java组件)。Java EE版本兼容Java SE版本。
;;;;以Java SE为例,各版本的特点如下:
;;;;·Kl.O~Kl.4己不能满足开发需求而被广大放弃。
;;;;·Kl.5添加了自动装箱、自动拆箱、枚举、不定长参数、泛型能。
;;;;·.IDKl.6在Kl.5的基础上添加了许多新的类,但核心语法没有发生变化。
;;;;·.IDK7也可以称为Kl 7,该版本的switch语句可以使用字符串参数,简化了泛型
;;;;语法,添加了try语句自动关闭流资源能。
;;;;·.IDK8添加了Lambda表达式、.JavaFX技术、流式处理和.1avascript脚本引擎能。
;;;;·K9在.IDK8的基础上添加了许多新的类,优化了线程并发处理和垃圾回收
;;;;处理的代码,并开启了模块化.JavaAPI的先河。然而,.IDK9刚推出半年被
;;;;.Kl0替代了。
;;;;·Kl0添加了val"关键字,同一步优化了.IDK9的代码,并删除了冗余的过时
;;;;代码。
;;;;在,IDK7升级到.IDK8的过程中,Oracle公司放弃了原本的pan>.x版本号名称,直接使用版本号的位数字,所以很多资料中仍会记载.Kl.7而不是K7,其实这两个名称是同一个版本的不同叫法。即使是K8版本,使用lava-versi’on命令查询出的结果仍然是l 8lXX。版本名称不统一的问题直到.IDK9才得以解决,K9删除了pan>.x前缀。
;;;;以上介绍的是Oracle公司推出的.IDK,除此之外,还有一个Open K。Open.IDK早由suN公司推出,它是一个开源且商业免费的.JavaLjmux系统中。因为Oracle.IDK的源码有知识产权的问题,所以Open.K的源码和Oracle K的源码并不是一样的。
;;;;Open K有如下几个特点:
;;;;·所有代码都是开源代码。在Open K中有知识产权的代码都被替换掉了,不存在
;;;;知识产权纠纷,所以免费。
;;;;·虽然它的所有代码都是开源代码,但能并不完整,含了K中精简的
;;;;
;;;;·含Oracle K的Deployment(部署)
;;;;·不能使用Java的商标。
;;;;·能不如Oracle.K高。
;;;;不同版本的K之间可能存在不兼容问题。当技术人员开发服务器应用程序时,需要提前知道服务器的K版本,并按照对应版本的要求编写Java代码......
;


