第1章 javaee开发基础
9 q5 @! t4 \9 t. }: K# R1 }1.1 javaee6简介
/ p* T1 g! F K3 ^4 j3 |1.1.1学习 javaee的意义
5 s8 A/ A) J/ ]! @$ h1.1.2 javaee6版本介绍- _7 ^2 W! B7 Q; x; j/ _1 l5 K/ p. F
1.2 javaee6的开发环境
, x" t$ `( L" \( w1.2.1 javaee6开发环境的安装和配置
. H: M8 Y% l, K4 i- [% l* s3 d* e1.2.2 eclipse集成glassfish
# ~* [+ X1 L: @1.2.3 eclipse集成数据库
) o* a) o- S4 Q5 W, C+ Z. X' x1.2.4 ejb容器数据源的配置
8 k q( ~" X; B1.3 javaee安全9 V4 U' K, N& n* C/ Y
1.3.1 javaee基本安全概念" ?' y$ w8 j( S( E* {2 |1 r4 F
1.3.2使用glassfish文件域
% Y7 @! \/ L. e; M' n1.3.3基于表单的认证
7 i& l% y0 }. O1.3.4使用glassfish证书域
5 l& Q8 P) {/ f$ M# D8 L* i! M第2章 java持久化api& f5 N, B. N: F) o) H
2.1 jpa介绍
3 R! ~3 Y6 ]$ |4 k9 k6 }$ s! u2.1.1持久化概念/ l! | U( @8 O
2.1.2 jpa 2.0概述/ j2 |& P( n8 r8 y# [
2.2 jpa环境设置6 n+ g- ?! i3 Z4 w0 H' r; L
2.2.1简单 jpa程序的完整开发过程6 R5 N9 T- C2 c9 ~( u
2.2.2使用junit测试 jpa. i- _% k4 F7 E$ z% G# g; ~
2.2.3 persistence.xml文件配置
7 a% M3 p& V4 G2 B2.3 jpa实体映射基础+ M" C8 p4 d1 s1 S: \
2.3.1 jpa管理实体基本概念
( l5 V: f7 T- T f* W* p0 e2.3.2实体与数据库表的映射关系
7 G0 N* K5 s, [) k4 [. M+ W; l2.3.3采用xml文件管理对象关系映射
* e- _6 }9 R& ]/ E% `; e1 F2.3.4定义复合主关键字4 J4 u/ z! l8 |8 N4 k' _$ [
2.3.5定制属性的映射关系* U6 m6 \- V' y) u; o- a% r
2.3.6 jpa的两种访问类型$ q% q, Z/ `" L) l+ ?
2.4 jpa实体关联映射
/ ]4 V0 G. Q9 k0 j2.4.1实体关联基本概念5 @% W- v7 S5 ] ]: t- }0 E$ n p
2.4.2一对一单向关联p0 x1 _; \5 N) F
2.4.3一对一双向关联
0 c. _9 l; d. p- J" i) C2.4.4一对多单向关联
0 X" z/ d6 K. V# Z7 ^! A+ h2.4.5多对一单向关联1 b0 U. v2 N/ N& U- J
2.4.6多对一双向关联6 ]- Y$ p' i" U7 ?9 x% j5 ^
2.4.7多对多双向关联% a# |( x" A' g8 d: Y
2.4.8有额外字段的多对多映射关联表
" a3 U4 N( Y: r2.5关联关系再讨论4 G1 G, w! r" R! g- R& J0 n3 b
2.5.1为关联关系选择集合类
1 u1 Y; y9 O0 k% L: A. _' w2.5.2对关联实体进行排序- `% T! `( b: ^ Y
2.5.3延迟加载vs即时加载( g9 J6 I$ g' D- @
2.6继承关系
; Q2 M }1 O' q( e+ @1 G6 U0 P( V0 M2.6.1概述* Y! r# N; z' n: `/ N7 q5 }
2.6.2继承关系映射示例) G4 b' i, X7 w' t/ @ ^
2.7pql0 N5 W1 Z' T# k( h
2.7.1 jpql语句基础
7 x. F& r6 R& e+ L8 r- p2.7.2 jpql查询
: c5 U; {4 Z# ]+ C; q) ^2.7.3命名查询
! v! N P3 C+ z# [3 c2.7.4原生查询
1 }" C* \, s/ I# z" _4 l( j2.7.5 criteria api1 ]* K# _% V% b, E* ?" i/ E5 \9 n( K
2.8 jpa高级话题9 h. R; ]9 F; T
2.8.1处理并发3 c1 u$ ^8 Z- Q, n; S
2.8.2实体的生命周期1 x S/ U9 L8 V' b4 _/ n! Q
2.8.3 jpa回调方法
' b5 H" O5 i( s4 }0 F0 u$ h第3章 ejb3.1
, y% a J9 k! |7 }& T+ n1 h3.1 ejb 3.1介绍9 n( \# i7 n6 q5 }
3.1.1 ejb 3.1简介
8 G' Z& y( U. }3 @9 I* w# B" h3.1.2简单ejb的完整开发过程
. v" S; ~9 c) a. l! r0 ^) e3.2依赖注入和jndi
9 ], _0 f8 X" E, z8 K8 d: n6 Z$ R3.2.1基本概念
6 l, Z: Y, }- D$ S D3.2.2 jndi示例
; Q3 n; U! K, C& R3.3 ejb调试技术
2 X2 G+ M+ F/ b+ G( k3.3.1嵌入式技术调试ejb
+ l% _8 o8 q G9 c3.3.2 web服务测试e用
) m8 j/ e- X# A0 }5 h' ]3.3.3 glassfish应用程序客户端
" d" w4 ?' e; _0 D" K3.4会话bean% I# d& U5 }( R5 N: l7 @- U C! e
3.4.1无状态ejb
; w/ i# d$ F0 h! C3.4.2有状态ejb
9 u4 S9 r* W8 ]% F3.4.3单体ejb
, Z& U- S% t" N. e% m3.4.4单体ejb初始化与并发/ Q/ W: i0 ?: D$ X2 s. B
3.4.5 ejb部署描述文件
3 _' h' V' } j! s- h8 u9 p3.5 ejb进阶
* }, T9 o% w3 M" z9 Y3.5.1异步调用ejb$ W( a* S& S0 |) J
3.5.2定时服务: n7 |' s' x5 P) @9 T0 j
3.5.3会话bean的生命周期: l; N) S6 M: A% f* b) s) y1 J
3.5.4 ejb拦截器& V" m7 y2 T2 k4 b _
3.6 ejb事务
3 h9 e) v! \. g+ k; a2 f! q- q0 E3.6.1 ejb事务处理5 x: Z$ I, s9 V9 _$ y$ o# n
3.6.2 ejb支持的事务+ i% X* C5 ^3 `: ^2 Z" u& F/ e
3.6.3容器管理的事务" y3 |# S. e& u0 H# O
3.6.4 bean管理的事务
$ G. J! n2 L5 {$ ^: y3.7 ejb安全2 s* l/ i- R/ k* x6 b
3.7.1 ejb安全概念
, K+ v6 `. \) I: s3.7.2 ejb声明式安全策略" M* j1 u6 K4 s/ h5 C9 s& M
3.7.3 ejb编程式安全策略0 t& A1 H7 D4 C$ i% L6 ^' q" a
第4章 jsf2.0" o r( K5 v+ j \3 ?1 z
4.1 jsf2.0介绍7 C( l B. C% B/ e5 ]7 W( W
4.2 jsf的运行环境
; g- N+ M1 V& Q+ L$ A4.2.1 jsf运行环境的配置
# a9 `- ?" \. D# H; [' @4.2.2第一个简单的 jsf程序
+ `2 J6 R3 M3 ~8 f. n4.2.3 jsf与可视化网页开发
. Q ~' C- Q; f' t* `4.2.4配置web.xml文件
! f& r" t' i9 C3 ?: q4 Q4.3 jsf标准组件
: }2 `) P; [+ d/ \' [ V( Y4.3.1 jsf标准组件示例) q: f) M3 G; K3 {
4.3.2 jsf2.0标签库
) X6 W' M0 _2 }4 G1 Q s0 t4.3.3 jsf常用标准组件介绍
: l8 W' u& P% j4.4托管bean
% f+ m& |# X7 a, U' {1 n, r4.4.1 jsf托管bean
# ^8 B w4 }9 y" Q: e/ b4.4.2托管bean的范围
1 |# k9 ^( o6 b2 q! q$ @! x- s8 @4.5 jsf导航
4 a+ v/ Y& k3 y2 i K" L4.5.1页面导航: W9 ?/ @: ?: J, u- l1 O$ m4 @
4.5.2动作和动作监听器
1 L2 X0 N- i* \) R& ^8 Y* ~& y4.5.3参数传递
) Y" S. l9 y" H3 Q# g: R4.6 jsf转换器
1 ~/ A+ t( _2 W& ?7 J1 T/ {4.6.1简单的转换器
% g1 q6 r- D6 o3 b5 o4.6.2数值转换器格式化输出
% r" R* b/ d' Y( C3 Z! q4.6.3日期时间转换器& }4 o; u. Q5 b7 W; d
4.6.4用户定制的转换器
& B7 w, Y" _) x* D9 c5 I: ^8 ^4.7 jsf验证器
. _& O( T- S* q3 t, _$ g4.7.1标准的数据验证器
, ^2 M. f5 s {7 \4.7.2定制验证器的错误信息
- n4 h8 ~ J; m9 p! a( g4.7.3用户定制的数据验证器3 l# ]1 l! R! ]0 a
4.8 jsf表格
/ L& w9 m9 Q' p: y9 q/ _4.8.1 h:datatable标签3 `( C6 ?, k) a
4.8.2 ui:repeat标签
# C9 |/ U* o, e1 c5 ]; b4.8.3在表格中显示多种组件
^) f' b: A# f: C1 X7 }4.8.4编辑表格数据' q' P2 X& E% |) I/ b
4.8.5添加删除表格数据
, w( c: z2 N! Z; I4 W: W% Z+ u2 J0 r4.8.6表格数据排序
. s2 {; a& f$ ?2 c4 {4.8.7表格分页显示+ a: t7 `1 K/ f" k# }
4.9ajax$ e( V) g# s) I
4.9.1使用简单的aiax* _" `' f3 h; N. d' w" z6 U
4.9.2组件的动态联动7 f6 t+ x: ~* s/ V5 u+ i
4.9.3构建人性化web应用D/ v1 j+ ]1 ~# P4 D W
4.10 facelets
! z6 n# g$ M# [$ v( |4.10.1 facelets标签! Z j3 y# R/ K
4.10.2使用facelets模板% ~* W& F! s; m6 W/ s& y ^
4.11 jsf进阶
. d0 F# t1 U% d' I0 n, `) T) Z4.11.1 jsf复合组件
( B" F. ~' C: q4.11.2 javascript复合组件. L5 G4 `* q* Y* S$ x
4.11.3 jsf的生命周期
d( L% W0 C2 R& y6 A, x4.11.4定制 jsf安全
7 x E& P: P! I4 S4.11.5显示动态图像$ b8 v4 k7 x! j& F- e
4.11.6文件上传, |/ F+ o! t h, Z! v: {
4.11.7 primefaces多文件上传) n3 L5 V" h1 o$ ^6 }
4.11.8在 jsf中使用ejb
c, y+ r8 F# |2 v; t' L8 k4.12国际化
5 K8 k4 z) m7 U; e+ ?, |4.12.1国际化 jsf项目
; n2 n4 |( ], H5 c: Z4.12.2页面语言功能选项+ y/ a5 M- h2 u( u! t; } ^
第5章综合示例
* r3 p1 _, f# Z+ c1 R1 ]6 p( M$ h5.1系统功能概述1 ?4 Q7 n& p& C5 t$ |
5.2数据库设计
! c; H5 Q( |4 O5 V5.3企业javabean层
Q c' @) Y- ~0 G5.4用户认证与授权
9 H. g5 J1 f7 s: R# J5.5 jsf模板
" [5 U$ [$ j6 R' m5.5.1基本模板
9 j% l* F% d* q0 c! \. s9 Q& {5.5.2管理员模板) i. f' v/ K! r6 L8 f4 C8 X5 f
5.5.3教师、学生模板
5 w8 X0 z6 P N5.6公用功能- {, i/ {- ~3 q: ?/ A2 r Q1 ]/ A
5.6.1登出
) G2 I) K0 u$ P7 _4 P) D( J5.6.2修改密码
2 p& ~+ J/ I2 |! d( @# f5.6.3排序和分页处理1 N! P4 @( x' r
5.7管理员使用的功能
1 Q, @$ h" y" M/ b3 K5.7.1添加新用户等
3 Z% a7 {! x. m6 W3 S: x& `1 e! k5 k5.7.2用户管理
0 h- Y& Y: q7 _5.7.3班级管理
: F) n4 {4 R% T% L5.7.4课程管理, {! [: L+ t# U$ ~. }4 d
5.8教师使用的功能6 y c; {+ J7 z' N0 l; ^! d
5.8.1录入成绩
1 ?% l E. h: k' K# j5.8.2查询成绩/ K1 v$ _) D7 j' _* k# b% @; e
5.9学生使用的功能
& r. I, u7 |! a& c. o8 V& A附录a源代码使用说明2 v$ O7 q+ D) I4 f2 G
附录b章节与javaee项目名称对照表
, {* {- A2 l4 Z2 b参考文献