Java Web轻量级开发面试教程

Java Web轻量级开发面试教程
作 者: 孟宪福
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  1 有11年Java开发经验,5年架构设计经验,5年数据库调优经验2 有2年大数据开发经验3 有出版经验4 有讲述过Java课程,知道各阶段学生的情况和如何提升

内容简介

本书围绕着软件公司对高级程序员的平均标准要求,根据笔者多年的面试和培训经验,构建了Java Web方面的高级程序员的进阶体系,包括初级程序员与高级程序员的差别对比、数据库实用知识点、JSP+Servlet+Javabean+DB开发框架、Struts框架、Spring IoC、Spring AOP、拦截器、Hibernate和Spring的整合方式等,最后两章分别讲述了基于SSH和基于Spring MVC的两个案例,以及在面试时如何高效地介绍自己项目经验的方法。本书附带教学视频,视频里会讲到所有案例的配置和运行方式,建议先观看视频运行的实例代码,然后再来阅读本书的文字。

图书目录

第1 章 高级程序员的Web 知识体系 ................................................................................. 1

1.1 合格Java 程序员和高级Java 程序员的技能比较 ........................................................... 1

1.1.1 Java Core 方面 ........................................................................................................ 2

1.1.2 Java Web 方面 ........................................................................................................ 3

1.1.3 数据库层面 ............................................................................................................. 4

1.1.4 项目管理方面 ......................................................................................................... 5

1.1.5 能帮助到你的加分项 ............................................................................................. 5

1.2 你可以少走的弯路 ............................................................................................................ 6

1.2.1 哪些知识点可以延后了解 ..................................................................................... 6

1.2.2 大学阶段的实习经验能帮到你 ............................................................................. 7

1.2.3 刚开始的1 到3 年,找个专注的方向 ................................................................. 8

1.2.4 常学习、多实践的人工资涨得快 ......................................................................... 8

1.3 上手Web 方面的开发工具 ............................................................................................... 9

1.3.1 在MyEclipse 上开发和部署Web 项目 ................................................................ 9

1.3.2 更换端口号 ........................................................................................................... 14

1.3.3 引入外部的jar 包 ................................................................................................ 15

1.3.4 支持中文 ............................................................................................................... 16

1.4 推荐一些经过实践检验的学习方法 ............................................................................... 19

第2 章 需要了解的数据库知识 ........................................................................................ 21

2.1 合理地使用各种连接 ...................................................................................................... 21

2.1.1 内连接和左连接 ................................................................................................... 21

2.1.2 范式和连接的代价 ............................................................................................... 24

2.1.3 表的设计和数据冗余 ........................................................................................... 25

2.2 不复杂但容易忽视的SQL 用法 ..................................................................................... 25

2.2.1 group by 和Having ............................................................................................... 26

2.2.2 Having 的另一个常用用途――查看重复记录 ................................................... 27

2.2.3 通过一些案例来看一下常用的Select 定式 ....................................................... 28

2.3 索引的用途和代价 .......................................................................................................... 29

2.3.1 从结构上来分析索引的好处和代价 ................................................................... 29

2.3.2 建索引时我们需要权衡的因素 ........................................................................... 30

2.3.3 索引的正确用法 ................................................................................................... 31

2.4 让你的JDBC 代码更专业 ............................................................................................... 32

2.4.1 用try…catch…finally 从句 ................................................................................. 32

2.4.2 预处理和批处理 ................................................................................................... 34

2.4.3 事务的提交与回滚 ............................................................................................... 36

2.4.4 事务隔离级别 ....................................................................................................... 38

2.5 总结 .................................................................................................................................. 39

第3 章 JSP+Servlet+JavaBean 框架 .............................................................................. 41

3.1 只应负责界面显示的JSP................................................................................................ 41

3.1.1 从一个大而全的例子里分析JSP 的语法 ........................................................... 42

3.1.2 “大而全”和“小而精” ................................................................................... 45

3.2 让Servlet 承担控制器的角色 ......................................................................................... 46

3.2.1 基本知识点 ........................................................................................................... 46

3.2.2 生命周期与多线程运行方式 ............................................................................... 47

3.2.3 JSP+Servlet 的开发模式 ...................................................................................... 49

3.2.4 运行结果和JSP+Servlet 模式的说明 ................................................................. 53

3.3 JSP+Servlet+JavaBean+JDBC 的开发模式 .................................................................... 54

3.3.1 通过一个简单的例子来了解JavaBean ............................................................... 54

3.3.2 在JavaBean 里编写业务逻辑 ............................................................................. 57

3.3.3 对MVC 的总结 .................................................................................................... 64

3.4 总结 .................................................................................................................................. 64

第4 章 通过Struts 进一步了解MVC ............................................................................... 66

4.1 在MyEclipse 里开发一个基本的Struts 程序 ................................................................ 66

4.1.1 创建Web 项目,并导入必要的jar 包 ............................................................... 67

4.1.2 开发前端的JSP 代码 ........................................................................................... 67

4.1.3 在web.xml 里声明使用Struts ............................................................................. 68

4.1.4 配置struts.xml 文件 ............................................................................................. 69

4.1.5 开发Action 类 ...................................................................................................... 69

4.1.6 开发两个跳转结果页面 ....................................................................................... 71

4.2 通过运行,了解Struts 的工作流程 ............................................................................... 71

4.2.1 Struts 的跳转流程分析 ........................................................................................ 72

4.2.2 Struts MVC 框架和JSP+Servlet+JavaBean 框架的比较 ................................... 73

4.3 通过Struts 的验证机制校验输入内容 ........................................................................... 74

4.3.1 通过Validate 方法来验证 .................................................................................... 74

4.3.2 在配置文件里定义验证方式 ............................................................................... 77

4.4 Struts 拦截器 .................................................................................................................... 81

4.4.1 拦截器与职责链设计模式 ................................................................................... 81

4.4.2 通过登录案例详解拦截器的用法 ....................................................................... 82

4.4.3 拦截器的使用要点归纳 ....................................................................................... 87

4.5 为了尽快进阶,你必须知道如下知识 ........................................................................... 87

4.5.1 Action 里的跳转 ................................................................................................... 88

4.5.2 可以指定Action 里的处理方法 .......................................................................... 89

4.5.3 对Struts 框架的进一步了解 ............................................................................... 89

4.6 关于Struts 框架的常见面试点 ....................................................................................... 90

第5 章 Spring 的基本知识点分析 .................................................................................... 92

5.1 依赖注入的好处 .............................................................................................................. 92

5.1.1 一个基本的依赖注入的程序 ............................................................................... 93

5.1.2 IoC 的特点,不用New 就可以初始化类 .......................................................... 95

5.1.3 控制翻转和依赖注入 ........................................................................................... 95

5.1.4 面向接口编程的本质是缩小修改的影响范围 ................................................... 96

5.2 依赖注入的常用知识点说明 ......................................................................................... 100

5.2.1 读取配置文件的各种方式 ................................................................................. 100

5.2.2 单例多例,有状态无状态Bean ........................................................................ 100

5.2.3 Spring 的注入方式与AutoWire ........................................................................ 103

5.2.4 @AutoWired 注解 .............................................................................................. 105

5.2.5 Bean 的生命周期 ............................................................................................... 106

5.3 AOP,面向切面编程 .................................................................................................... 108

5.3.1 面向切面编程的使用场景 ................................................................................. 108

5.3.2 面向切面编程的案例演示 ................................................................................. 108

5.3.3 深入了解面向切面编程的各种概念 ................................................................. 114

5.4 如何证明自己了解Spring 的基本技能 ........................................................................ 114

第6 章 Spring 的MVC 框架 ........................................................................................... 117

6.1 一个只包含MVC 的案例 ............................................................................................. 117

6.1.1 开发Spring MVC 的代码 .................................................................................. 117

6.1.2 Spring MVC 的运行流程 ................................................................................... 120

6.1.3 与Struts MVC 的区别 ....................................................................................... 122

6.2 Spring MVC 的关键类说明 ........................................................................................... 122

6.2.1 通过HandlerMapping 来指定处理的控制器类 ................................................ 123

6.2.2 通过视图解析器处理响应结果 ......................................................................... 127

6.2.3 通过ModelAndView 返回视图结果 ................................................................. 129

6.2.4 Spring 的拦截器 ................................................................................................. 131

6.3 在Spring MVC 方面你如何准备自己 .......................................................................... 135

第7 章 通过ORM 专注业务(基础篇) ........................................................................ 138

7.1 让你尽快掌握Hibernate ................................................................................................ 138

7.1.1 通过Hibernate 完成ORM 的具体步骤 ............................................................ 139

7.1.2 通过Hibernate 的注解方式实现ORM ............................................................. 144

7.1.3 Hibernate 里生成主键的方式 ............................................................................ 146

7.2 Session 对象在项目里的用法 ....................................................................................... 150

7.2.1 Session 对象中的重要方法 ................................................................................ 150

7.2.2 Session 对象中的load 和get 方法的差别 ........................................................ 152

7.2.3 Session 缓存与三种对象状态 ............................................................................ 154

7.2.4 FlushMode 与清空缓存的时间点 ...................................................................... 157

7.3 在Hibernate 里执行复杂的查询 ................................................................................... 158

7.3.1 where、groupby 和having ................................................................................. 158

7.3.2 表关联查询和子查询 ......................................................................................... 160

7.3.3 通过SQLQuery 对象执行SQL 语句 ................................................................ 162

7.3.4 通过Criteria 设置查询条件 ............................................................................... 163

7.4 针对Hibernate 基础知识部分的小结 ........................................................................... 166

第8 章 通过ORM 专注业务(高级篇) ........................................................................ 168

8.1 通过Hibernate 关联多张表 ........................................................................................... 168

8.1.1 通过配置文件实现一对一关联 ......................................................................... 169

8.1.2 一对一关联的注解实现方式 ............................................................................. 173

8.1.3 一对多关联(配置文件,返回List) .............................................................. 177

8.1.4 一对多关联(注解,返回Set) ....................................................................... 182

8.1.5 用Map 来管理一对多关联 ............................................................................... 186

8.1.6 通过配置文件实现多对多关联 ......................................................................... 189

8.1.7 多对多关联的注解实现方式 ............................................................................. 194

8.1.8 关联性操作里的cascade 取值 .......................................................................... 196

8.1.9 通过inverse 设置外键控制权 ........................................................................... 198

8.2 Hibernate 里的事件机制 ................................................................................................ 201

8.2.1 在拦截器里放一些通用性的代码 ..................................................................... 201

8.2.2 事件系统和监听器 ............................................................................................. 207

8.3 Hibernate 中的优化 ........................................................................................................ 212

8.3.1 结合数据库大背景 ............................................................................................. 212

8.3.2 使用SessionFactory 二级缓存 .......................................................................... 213

8.3.3 项目中常用的优化策略 ..................................................................................... 218

8.4 在Hibernate 方面我们面试的方式 ............................................................................... 218

第9 章 Spring 整合数据库层面的应用 ........................................................................... 221

9.1 Spring 与Hibernate 的整合 ........................................................................................... 221

9.1.1 Spring 整合Hibernate 注解的例子 ................................................................... 222

9.1.2 配置数据池来提升效率 ..................................................................................... 225

9.2 通过Spring 管理事务 .................................................................................................... 227

9.2.1 编程式事务管理方式 ......................................................................................... 227

9.2.2 声明式事务管理方式 ......................................................................................... 232

9.2.3 事务传播机制要解决的问题(适用范围) ..................................................... 235

9.3 针对Spring 整合数据库的总结 .................................................................................... 237

第10 章 Web 框架案例分析 .......................................................................................... 238

10.1 Struts、Spring 与Hibernate 的整合 ............................................................................ 238

10.1.1 SSH 整合案例的说明 ...................................................................................... 239

10.1.2 编写登录页面和Web.xml 配置文件 .............................................................. 240

10.1.3 编写Struts 的配置文件struts.xml ................................................................... 242

10.1.4 编写Spring 的配置文件 .................................................................................. 243

10.1.5 编写Struts 的Action 类 ................................................................................... 245

10.1.6 编写Service 和DAO 类 .................................................................................. 246

10.1.7 编写Model 类和映射文件 .............................................................................. 248

10.1.8 编写显示返回结果的index.jsp ....................................................................... 249

10.1.9 对SSH 框架的分析 ......................................................................................... 250

10.2 基于Spring MVC 的Web 框架分析 ........................................................................... 251

10.2.1 Spring MVC 案例的说明 ................................................................................. 251

10.2.2 在web.xml 里定义使用Spring MVC ............................................................. 253

10.2.3 编写整合Hibernate 的xml 文件和Model 类 ................................................. 254

10.2.4 配置Spring MVC 的xml 文件 ........................................................................ 257

10.2.5 编写前端的增改查JSP 文件 ........................................................................... 258

10.2.6 编写拦截器类和控制器类 ............................................................................... 261

10.2.7 编写Service 层的代码 ..................................................................................... 264

10.2.8 编写DAO 层的代码 ........................................................................................ 265

10.3 描述商业项目案例经验............................................................................................... 267

第11 章 简历面试那些事 ............................................................................................... 271

11.1 不要让你的简历进回收站 ........................................................................................... 271

11.1.1 面试的基本流程 ............................................................................................... 272

11.1.2 根据职务介绍再针对性地准备简历 ............................................................... 272

11.1.3 哪类简历比较难获面试机会 ........................................................................... 273

11.1.4 准备简历时该注意哪些 ................................................................................... 273

11.2 面试之前,你要做哪些准备 ....................................................................................... 274

11.2.1 准备项目经验描述,别害怕,因为面试官什么都不知道 ........................... 274

11.2.2 面试官的策略――如何通过提问,找出你回答中的矛盾 ............................ 275

11.3 面试陈述篇:充满自信地描述你的项目经验 ........................................................... 275

11.3.1 准备项目的各种细节,一旦被问倒了,就说明你没做过 ........................... 276

11.3.2 充分准备你要说的项目的框架、数据库 ....................................................... 277

11.3.3 不露痕迹地说出面试官爱听的话 ................................................................... 279

11.3.4 一定要主动,面试官没有义务挖掘你的亮点 ............................................... 280

11.3.5 一旦有低级错误,可能会直接出局 ............................................................... 281

11.4 面试引导篇:把问题引入准备好的范围 ................................................................... 282

11.4.1 项目要素、框架设计和数据库,这些是必须要准备的 ............................... 282

11.4.2 准备些加分点,在介绍项目时有意提到,但别说全 ................................... 284

11.4.3 对于面试官的圈套,别顺口回答 ................................................................... 284

11.4.4 别自作聪明地回答面试官没问到的但你很想说的亮点 ............................... 285

11.5 必问的问题:这些非技术问题你逃不掉的 ............................................................... 286

11.5.1 如何描述你在项目里的作用?别单说你仅仅coding ................................... 286

11.5.2 一定要找机会说出你的团队合作能力 ........................................................... 287

11.5.3 当问项目周期规模和技术时,是在考查你值多少钱 ................................... 288

11.5.4 想尽办法展示你的责任心和学习能力 ........................................................... 289

11.6 开放性问题篇:面试官想摆脱你的准备,别慌,有技巧 ....................................... 290

11.7 当你有权提问时,别客气,这是个逆转的好机会 ................................................... 290

11.7.1 通过提问,进一步展示你和职位的匹配度 ................................................... 291

11.7.2 通过提问,说出你没被问到的亮点 ............................................................... 291

11.7.3 可以展示一些非技术的特长 ........................................................................... 291

11.8 亡羊补牢:万一你回答不好,该怎么办 ................................................................... 292

11.8.1 坦诚相对,说明你的擅长点,让面试官给次机会 ....................................... 292

11.8.2 展示你以前的亮点,让面试官相信你的潜力和能力 ................................... 293

11.8.3 记下所有的面试题,迎接下次面试 ............................................................... 295

11.9 基础差,不知道怎么应对面试时的对策 ................................................................... 295

11.9.1 有计划的学习和实践 ....................................................................................... 295

11.9.2 多挖掘你之前的项目经验和技术点 ............................................................... 296

11.9.3 及时提升你项目里用过的知识 ....................................................................... 297

11.10 背景调查的一般流程 ................................................................................................. 297

11.10.1 技术面试阶段,着重甄别是否是商业项目 ................................................. 298

11.10.2 关键因素一旦不对,立即出局 ..................................................................... 298

11.11 面试评分的一般依据 ................................................................................................. 299

11.11.1 技术面试的考查要点 ..................................................................................... 299

11.11.2 综合能力面试的考查方式 ............................................................................. 301

视频目录

第1 章

安装本书运行环境MyEclispe 和MySQL 的步骤

运行第一个Java Web 程序

更换端口号,引入jar 包和让开发环境支持中文

分享Java Web 方面的学习经验

第2 章

关于连接的讲解

在项目里建表的注意点

如何正确地创建和使用索引

JDBC 代码的注意点

事务隔离级别的讲解

如何准备面试,数据库篇

第3 章

简单JSP 案例的讲解

JSP+Servlet 的案例分析

简单JavaBean 案例的讲解

基于JSP+Servlet+JavaBean+DB 案例的讲解

第4 章

开发一个简单的Struts 案例

在Struts 里加入验证器

通过配置文件实现Struts 验证器

Struts 拦截器的讲解

如何准备面试,Struts 篇

第5 章

Spring IoC 的讲解

Spring 面向接口编程

用单例和多例创建Spring Bean

SpringAutoWire By Name 的讲解

通过注解实现Spring 的IOC

Spring AOP 的讲解

第6 章

Spring MVC 的讲解

通过HandlerMapping 指定控制器

BeanNameUrlHandlerMapping 用法说明

在Spring MVC 里配置多个视图解析器

Spring 拦截器的讲解

如何准备面试,Spring 篇

第7 章

Hibernate 的简单案例说明

通过注解实现Hibernate

Hibernate 里生成主键的方式

Hibernate 里Session 对象的讲解

Hibernate 三种Session 对象

HQL 的用法

通过HQL 实现关联等复杂查询

在Hibernate 里运行SQL 语句

Hibernate 里Criteria 对象的用法

第8 章

Hibernate 里的单向一对一关联

通过注解实现双向一对一关联

通过配置文件实现一对多的关联

通过注解实现一对多关联

通过Map 实现一对多关联

通过配置文件实现多对多关联

通过注解实现多对多关联

通过inverse 设置外键控制权

在Hibernate 里实现拦截器

Hibernate 监听器的讲解

在Hibernate 里实现二级缓存

如何准备面试,Hibernate 篇

第9 章

Spring 和Hibernate 的整合

整合时Hibernate 里配置连接池

编程式事务的讲解

声明式事务的讲解

第10 章

SSH 整合案例的讲解

Spring MVC+Hibernate 整理案例的讲解

在面试里,如何准备你的项目描述

第11 章

面试流程的讲解

如何准备你的简历

面试前的准备

面试技巧的综合说明

如何在短时间内提升你自己的能力