Seam - Contextual Components A Framework for Java EE 5 ...

powersmoneyΛογισμικό & κατασκευή λογ/κού

14 Ιουλ 2012 (πριν από 5 χρόνια και 4 μήνες)

1.022 εμφανίσεις

Seam - Contextual Components
A Framework for Java EE 5
Version:1.2.1.GA


     Z
   
  !"
  # $%&&'( 
) *
 $%&'( 
+ &,-./)
) 012&  3456 789: )
);<&=> )
)?,@,@ 6 ABC +
)) -,D-EF45  GH-6 IJ#
BC \
)+ EF45  KLMNOP- 6 IJBC g
)Q ;RSTUVWX 6
YZ[ g
)\ ]^ TUVWX 6 _`Z[ g
)a b cd 6 e
f
eJZ[ h
)g ^ TUVWX 6 B`fBZ[ k
)h ^ ijTUVWX 6 Y
Z[ k
)k l 6 JBYmJBY k
)n ^#I TUVWX 6 YY[
Z[ n
))/opq 
+  GFGrs-6 tuv )
+;<&=> )
+?,@,@  6 wJBC +
+) -,OEF45  6 wJwJ BC +
++ EF45  KLMNOP- 6 wJwJBC \
+Q l6 JBY \
+)/opq a
Q  x B yw 6 *zf{z - g
Q;<&=> g
Q)/opq )+
\  |}OK6 ~2 )+
\;<&=> )+
\)/opq )g
a   3456 , )h
a 1 )h
a) & +n
a+   
C &=> +n
aQ *  A =HMH +a
a\  F|} +g
g  x B yw 3456 {{ - +h
h  G-|-=3456  4-,
 Qn
k ¡`   6 ¡` 4-, Q
n I^*e [  3456 [J  Q
n ¢yA££¢ ¤ w¥ &¦ Q)
   )§#
n) FG¨Grs©ª«¬|} Q+
n+ I^*e [ 345& ¢yA¡¢ ¤ w¥ &¦ Qa
 b ) I ¦­    &'( Qh
) fJ 2  ®1¯"Qk
) ®1°± Qk
)) ²­³ ^
[Y K}PG&EFF \n
)+ ²´&G45µ¶·° \)
)Q G45&¸°O¹µ¶·° \+
)\ º»&N¼-½¾345¿/µ¶·° \Q
)a ^#IÀÁ%345KM·° \Q
)g  xÂÃ FKMÄÄÄ \Q
+;,Å-Æ»;RSÇ \a
+ ;,Å- \a
+ -,D-;,Å- \a
+) M¼;,Å- \g
++ |};,Å- \g
+Q ;,Å- \g
+\ EF45;,Å- \h
+a l}S-KE-;,Å- \h
+g 345;,Å- \h
+h;,Å-È~ \h
+k;,Å-©ªÉÊËÌ \k
+n ÍÎÏ(Ð=Ç \k
+) ;RS an
+) -,D-EF45  an
+)) -,OEF45  an
+)+?,@,@  a
+)Q C  a
+)\ ÑFE}Ò/¤  a)
+)a MNE45 a)
+)g;RSÓ a)
+)h;RS-;&dÔ a+
+)k Õ~KÖ×;RS aQ
+)n ØÙÚÙ;RS aQ
++ M}PG45 a\
+Q HMOMGÑÛF< ag
+\ ÜÝÞM-D45ÄÄÄ ah
+a Kß ak
+g rÈ w `[ MNOP-x àIz[áÄÄÄ gn
+h OâGx=;RS g)
Q ;RS&cd gQ
Q Kã,@cd¯°;RS&cd gQ
Q)
YZ[¯°;RS&cd gQ
Q+ äåæ­cdOâM gg
QQ cdrsçKã,@&¤ gg
Q\ èw£Ó±éê&¦ gh
\ M¼mMNENmëìÐ= h)
\ M¼ h)
\ |}G45 h)
 f ¥Z [ ¥Y
   )§#
\ |}ãHÑN h+
\) íl45 hQ
\+ íl45m|}G45mãHÑN&dÔ¦äåæ­
OâM hg
\);RSÒ/M¼ hg
\+;,Å-Æ»M¼ hh
\)  
Y kn
\+ wJJ Z
Y k
\+ ^Z
Y  
 k
\+) ^`[J  Z
Y [J k)
\++ AJ  e Z
Y [J k)
\+Q AJ èw£ e Z
Y [J k+
a ¥C  _îY
 J kQ
a ï
C [ kQ
a) ð
C ka
a+ J
C _ §^* ñ  kg
aQ AJ ò6[îó  ò6` ó kh
a\ 

 J kk
aa AJ  ¢ZY[
¢
C  nn
ag ]îY
 J nn
ag ]îY
 J  b CJ n
ag) ]îY
 J  By{£ YJe[_ n
ag+ *
C _
 n
agQ *
C [ n)
ag\ 
 ` n+
ah ¥C[
Y  b
Y`J n+
g |}OKxl}S-KE- n\
g  %&|}OK n\
g ) ×&íl45Ç n\
g)  x ô°õN nh
g) By{£ |}OK&¦ nk
g) |}OK&cd n
g)) |}OK&ö® n
g)+ |}÷<xøù n
g)Q OK&úû )
g)\ OK&üý )
g+  %&l}S-KE-= )
gQ By{£ l}S-KE-dÔ&¦ +
gQ KE-dÔ&cd +
gQ) GN{&0þæ +
gQ+ l}S-KE-&0þæ Q
gQQ N-GÿĀ2 Q
gQ\ N-G- Q
gQa N-G&'( \
h   z`B
āI[[ wYYJ g
h 
 g
h)  J 
 h
h) ^`[J fJ 
 k
h+ fJ Y

Z k
 f ¥Z [ ¥Y
   )§#C
h+ AJ  fJ Y

Z _ y#k
h+) AJ  fJ ¡`  )n
h++ fJ Y

Z  

C )n
hQ AJ  y#¢[J¢ )
h\ AJ ^£  ^ fĂ£ā¡Ă£ ))
ha AJ ¡` e[ ))
k b e C[   )Q
n 345ODG )h
n MKăG45 )h
n) ¡Ą}PG )k
n+ Ă áĄ}PG +)
nQ ¥[[Ą}PG +Q
  x   I [ +\
 &0þæ +\
) ;RS½¾&&¦ +\
+ B yw KE-dÔ½¾¦ +a
) EÅ,@ +h
)  +h
) ąĆ¾&Ç<"&ćĈĉ½Ċ +h
)) ċÜÝ +h
)+ Čč +k
)+ cd +k
)+) ČčÑÛF<&VW +k
)++ KMO¹&VW Qn
)+Q Ďďçcd  Đx1 Q
)+\ EÅ,@ëì&Ð= Q
)+a KMăMDG Q
)+g đĒçČčēs Q)
)+g;,í&##cdĔ¦·° Q)
)Q?HÑFE} Q)
)\ Čr Q+
)\ ĕxç°Ė Q+
)\) EÅ,@;RS Q+
)\) àI
÷,45 Q+
)\)) MHM¯°ú QQ
)\+ 78MNOP-&EÅ,@ Q\
)\Q |}ďÌ&EÅ,@ Qa
)\\?,@,@&EÅ,@ Qa
)\\ y#%&?,@,@EÅ,@ Qg
)\\) ¡`%&?,@,@EÅ,@ Qh
)a EÅ,@&VW Qh
)a ãėF45׳2& Qh
)a) OâM&cd Qh
)a+ EÅ,@OâM&o¶ Qk
)a+ M<L<&ãėF45PFG \n
)g £¯°EÅ,@ \
)h ÅĘĘ,-&'ę \
)h ÅĘĘDF&cd \
)h) |}ÅĘĘĚ·° \)
 f ¥Z [ ¥Y
   )§#C
+ ěĜæx,¨ [ĝ   \+
+ K3 \+
+) H¼ \Q
+) H¼dÔ·° \Q
+)) H¼Ğu·° \Q
+)+ b
 ÑFE} \\
++ NMğ \\
+Q,¨ \a
+\ K3x,¨cd&GFÅ¯°ijæ \a
Q  *Z \h
Q O¹¨F&Ġ \h
Q) KH;<ġĢģĤĥĦ,Å-&VW \k
Q+ G an
QQ ¡*w£&VW an
\ *Z¯°y{bµ¶ a
\ y{bRĔ¦·° a
\) <ÅÑµ¶·° a
\) Y6
 a
\+ Ġç,Å-ħ a)
\+ Y6YJY a)
\+) Y6Z a+
\++ Y6e a+
\+Q Y6_yJ a+
\+\ Y6J aQ
\+a Y6
 a\
\Q ĨFăxOFN a\
\Q Y6xY6e a\
\Q) Y6YJð ` a\
\\ ĘNxEG45 aa
\\ Y6
YxY6
 aa
\\) Y6[ aa
\a - aa
\a Y6[ ag
\a) Y6[ ag
\g *`[ ah
\g Y6`[ ah
\g) Y6
[[ ak
\h {
 ¥ gn
\h ¥[ [  gn
\h)#[J [  gn
\k ¥eJ J *Z gn
\n *Z [î g
a ^[ g)
a ¥J  J g)
a#
 g+
a) ¡*w£ā*Z [C Y g+
a+ w [Y[ 
Y gQ
aQ w [Y[ J gQ
a\ *Y[J gQ
 f ¥Z [ ¥Y
   )§#C
aa [ gQ
ag z ¡ g\
a) I
CJ [ g\
a+ ¥eJ  ga
a+ [ ga
a+ ð{ [î Y   # ga
a+) 
eJ   gg
aQ *J gg
g#á

á  JJ hn
g#á

á hn
g#á
   hn
g)#á
  C h)
g) wJJ   h)
g) ¥eJ  h)
g)) J J h+
g)+ I
CJ J J  JfC` h+
g)Q I
CJ J  
[ h+
h ¥
J h\
h AJ  ¥
   ha
h) yJ eJ

J hg
k IJ hh
k ¥eJ  hh
k) * ¢¢ `B
 hk
k)#¡[[ ][ ZY[ hk
k)) ¥Y k
k)) ¥Y_
 k
k))) ¥YJ
 k)
k))+ ¥YJ¥Yð k)
k)+ IJ k)
k)+ IJ
*áY k)
k)+) IJJ*áYð k)
k+ ¥[ e
 k+
kQ * ¥Z k+
kQ J  J  ¥C { k+
k\ 
 Iñ  kQ
ka ]îJ _ { áY kQ
ka yC ā 
*áY kQ
ka J kQ
ka) ð ` kQ
ka+ [ kQ
ka) C  kQ
ka+ {  * k\
kaQ ^  k\
ka\ ¥[[
 ka
ka\ J ka
ka\) wY ka
kg {` JJJ ka
kh * £J wJ kg
kh ¥JJ  J kg
 f ¥Z [ ¥Y
   )§#C
kh) ¡J  [J J kg
kh+#¥  £J 
 kg
kk ¥[[J _     kg
kk ¥J [ e[ kh
kk) ¥J wY  ¥[[
 kh
kk+ ¥J `B
 e  Y
e
áY kk
kkQ ¥`J ¥ kk
kn w wJJ kk
kn ¥eJ  kk
kn)  `
`J   w *Y
)nn
kn+ A `
`J e  *Y
)nn
knQ * J  y[[J y
 )nn
)n YJ b_î ĩĪ )n)
)n ;RSYJ`M}PG )n)
)n) YJ`;RSM}PGÄÄÄÄ )n+
)n+ YJ`;RS·° )nQ
)nQ f
Y YJ`ÄÄÄ )nQ
)n\ YJ#YY[
 ¥Z    ¥YÄÄÄ )n\
)  &cdx  345&ãF3} )na
)  &Ġcd )na
)  x bmC[;,íx&ĩĪ )na
))  Û- C[ )ng
)+  C[ O@N )ng
)+ ëìÐ= )ng
)+) ăMDG¯°&īĬ )nh
)++ ¨ãO¹&ĭĮ )nh
)+Q ÅĘHGN?;@ )nh
)+\ L-N C[&;,Å-= )nk
)Q ^ ;,íx  &ĩĪ )nk
)\ e
[ &¦ )n
)a įxmİ"ı×IJijĴ )n
)) C ^^\%  cd )
)) ãF3} )
)+   ØÙÚÙrs ^ +;,í &  cd ))
)+ ØÙÚÙrs ^ +;,í&M- )+
)+) ØÙÚÙrs ^ +;,í&NÛ-cd )+
)++ ãF3} )Q
)Q )^^%&  &cd )\
)Q  %& ¡`&-HF )\
)Q)  %& y#&-HF )a
)Q+ ãF3} )a
)\   ¨MGK;,í³  C ^ĵĶķ%cd·° )a
)\   ¨MGK;,íx ¡`¦·° )g
)\) ãF3} )h
)a %&B ywcd )k
)a ãF3} )k
)g RN%& &cd ))n
)h  #ĸ& b xEF45NMĹ&cd ))n
))   )))
 f ¥Z [ ¥Y
   )§#C
))# e
Y e )))
)))# e`B
 ))\
))+# e
Y [e
á
[  ))g
))Q# e
Z 
 ))h
))\# e 
 
 )+)
))a# e Z
Y )+)
))g# e C[ )++
))h# e  IJ )++
))k# e  
Y )+Q
))n# e á

á )+Q
))# e  _ b *`[ )+\
))) wf e `J )+a
))+# e Y
îJJ )+a
)+ [f 
Y )+h
)+ ¥Z B

Y )+h
)+) A[á
Y )+h
)++ ¥Y e [ĝ   )Qn
)+Q ¥Y e
[[J
C )Q)
)+\ B yw;RS )Q+
)+a 
áf[
Y )QQ
)+g wf[
Y )Q\
)+h w[f[
Y )Q\
)+k e
 [
Y )Q\
)+n Y
[
Y )Qg
)Q  b
[ )\n
)\ ^£&ĺĻ )aQ
)\ cd )aQ
)\) ¦ļĽ )aQ
)\+ ú )aQ
)\+ y )x&ľĿŀŁ )a\
)\+) C;<½¾&w^ZY&łŃń­ )a\
)a 345&,- )aa
)a ;RS&7ŅF,- )aa
)a) 345&ĩĪ,- )ag
)a) ÇFG¦­ĩĪ,- )gn
)g  ņ )g)
)g B yw 8Mí x l )g)
)g l}S-KE-8Mí )g)
)g) |}OKl )g)
)g) ¥IA{ 345}PSDN )g+
)g) ¡` cdOâM&o¶ )g+
)g)) ¡`;Ûcd&o¶ )gQ
)g)+ -?}Ņ x;<}PSD45 )gg
)g)+;<}PSD45&HĘ )gg
)g)+)?G-R )gk
)g)++;<&µ¶xĔ¦ )h
 f ¥Z [ ¥Y
   )§#Z

     
   YY[
 e_î e C ^^\   Y`á  e[[_J
Y
Y[6
J b _ ^ +n
b  ^ +n  _ e ` _ e  e C ^^\ ^ +  ` _

Y [ e C `   Y
 [J
 w_[Ň b  
J
Y [ e  Y  Ae [áŇ 
Y
[  `[  [C [[ Y`[ 
Y J`á [e Ň b  ^ + _î
`  J   C ^^\Y
e
 YC   _á 
J  _
Y [ b [áŇ 
 e` [ e_
    YC  Z Y  [[_ Z 
J e  [ 
 e 
Y [ e b  ^ +Ň [J J[ 
Ň  [J
 C[Y î `  `  Y`[
J##è
  YY _ Y  
 bf`##è [ 6 ¥^e
 #BZQb *
[  [ á ##è
Y`[á  á   e
 _     _
á C
Y

 [ YC ` [f C
Y J [á e ^ +
Y##è

[
 [á
[[ Cf
Y   `
`  w Y
Ň _ 
  e   
 [á
ð e  YY
 _ [ _î _[[Ň _   e ï` [f



á   JŇ _
    á

 efJŇ
á
 ##è ñ   [ e[á  ee
[á   C 
J  y
   b ¥[ ¥

zY[[áŇ  J Y`  Y
 J C B yw ň
_ï`[C _ á    Y[
Y[Z _îe[_ J B yw  
 C [[_ e e Y 
C e[_`á   
b YC  
`[á 
 C [ e  Y   

 [`á ZYJ B ywï`  Y
 [ C C Z
[á  
C [J 
Ň YCJ  e C [ e ï e
Y
[
z ʼn e ¢ ee¢
 YC  e
Y [#
Y á` e [Ň _ 
 
  á  e   ` e
ZŇ JJ e  [Jf J
`  Y
   J[ _`ñ 
*   
`_ Y 
Y `  [J


Y     Y`[  _  YY[
 _ ¢CáJ¢  
   )§#Z
^  * á
    Y e á    îJ e ^  
f
JŇ Cá_J `B
    Y  `
î 
Ŋ ¡_CŇ ^
+n
Y[[á
J    e ^ e  Y e C_ e  C[Y#
^   efJ `B
 f J 
Y[Z    C  
C 
 J á   `  b 
 [Ŋ
A[î Y[ C ^^  )^^
YŇ 
Y á  [ [á 


 
 _  _`ñ    [  
[  

_     YYJ _`ñ    [[á C  Y ň
J `B
   YY[
 [áJ Y Y á `á  [ )^^ Y[e
_  § *J ][[Ň J Y á
J  ñ C[ [á 

 
J  f  ee
   á J  

 á  _ YY[
 

 _  [á   _ á _î J
{
[C  wJ
]  [[   

Y e 
[C 
 J  )^^

[C 
á e ^ )Z ^ +n C 
 
[C Y


Z J *   ZY[ e ` Y`[ e JJ 
  
 _  Y
[
ZŇ _[  J  [[ 
[ Y


 _ 
Z   î 

Y e 
[C  J

 e   YY[   YY[
  *[[áŇ )^^ YY[

[ [_á Y[  J  [[áŇ`á JJ  J C[
  ñ  `  * YY
   J    
 e
á` J  á [î _ YY[
 e[ 
[ Y  ` Ň 
_   
 _ ee _îe[_
[[    [f__
YY[
    Y[  [ [á [ 
[ e` J
{
[C YY[
  J   Y`[`á  
 e 

Z [ e`á   Z 
Z [ e`á  C[
Y
ŋñ Ň Ň YY[
 ŋ_ _ _
Z ŋ
C ` 
Y
ŋ   Je [ e  Y e C_ e `  [J

B

*  e C e ¥[  Y
á B
 Z ` b 
^ +Ň  _[[      f
[[ ¢[J_J
¢ w e 

 Yĝ B
 e
Y  Y[ [ C
 ^C
_ B
 e e [
Y   YY 
   bŇ   C [[á
[ e [J YY[
 `
   
Y e  e [
Y

` e _  ee
 e[Z`[á
B
 ee e ¥     á
Ň
Z [Ň `
[ ň

 î e    
 e [J
Z [ C`[    C 

Z`   
   `  e 
Y B
 [[_
 f`[á e e [
Y`á 
  C [[_ 
Y 
e[á  [á Y [  C[  e 
Z C`[Ň B `á JJ  
`  e 
Y
]îY
 wJ
zY[[áŇ  YY[
 á î CJ e _îY
 JŇ [[_J
  e[á _
`_ ee
C _îY
   J[

    
   )§#Z
`_ __  YC  [á

  [f__ YŇ`  [  [f
__f[î Y   J[ __Ŋ
# yzz ^Cá_
^ +n `
   ¢
eJ `á Z
Y¢    _á 
YC e  
   
[C e Ae [áŇ b 
[[ C[á Y  C` èw£
eJ  e[  Z 
 YC`á ^ +n _   e  e 
[C 
J  
[C
Z 
 * [ á [  á b
J` 
[  
  ñ  èw£  B   e _

 [á`[J  èw£  b CJ  [
*`[á   ¥ b 

YŇ`J yzzŇ `á    `[  e
Y[Z
YY[
Ň  J [   ee
 J J 
[[á`  á  ee
[ î e C _`YY[
 *eŇ
 YC e `[á e  YY[
  
 e  e  e_î
ň
 [á _ A  *ð§   Y
  _[ 
 _ 
Ň Z
J [[
Y e  á Y e  C_  y  b
[
YJ ň
     
[á  á  {^Ň _  _[[  
[[á
Y[á ^
Y     ^``[ ^ +

§  _Ŋ
 _î  á YY[
 C   YY ^ +n ň
 C    
C[
 [î *
Ň   á )^^ YY[
 CŇ`á [CJJ 
_   ^``[ ^ +

¡_CŇ _ [ĝ   Cá  á  î  _
  ^ +n Ň 
 Ň á
     e_î e YY[
   b e
YŇ ¡`  Y[ { ¥ e Y
  C  e YY[

[J
 *Ň _ á ï á  î  _
  ^ +nŇ J _[[`
Je_
      
` e Ň b  ^ +   Y[ _á  _ 

Y[Z _`YY[
  C ň _ï`[C _ [[
  ñ Ŋ

    
   )§#Z
  
 !"#$%&
Ō&%m  # Qn\ćăĹK<ōŎm ^ +n KOâMćM-
ōŎİ&x­2ŏ1Đ·Ő  # M-¦­2 Đm &;ő
İăĹK<­2m oŒ@DGœöōŎ2³°İ&x­Đ·Ő
Ŕ  &@DGmŕķ&Ŗ%ŗ¶ōŎ2³Đ·Ő
Ř ]`|}mMÑ}¸°³-NM4m examples/registration/view ¸ĀĐ·Ő
Ř TUVWXġNMR-Gçą&Û-m examples/registration/resources
¸ĀĐ·Ő
Ř C Û-;<m examples/registration/src ¸ĀĐ·Ő
Ř# l<-Gm examples/registration/build.xml ¸ĀĐ·Ő
  ' ()* !"*+,
ř0m$ANT_HOME x $JAVA_HOME 挭ścdōŎm# 挭śM-ōŎŌxŜ
Č­2śŝō³Ő Ãm M-­O¹ă¸° build.properties OâM
  # Qn\&K345cd­2śŝō³Ő Đŝ./­2³çŞŎşm   &
@DG½¾ bin/run.sh İ­śmbin/run.bat xNM­2   345
./­2śŝō³Ő
ō¸mexamples/registration @DG½¾m ant deploy xNM­2&l<m
KM(³Đ­Š"Ő
HĹ8½¾m http://localhost:8080/seam-registration/m GE-­2ÙĐ­Š"Ő
-.  ()* !"+,
ř0m$ANT_HOME x $JAVA_HOME 挭ścdōŎm# 挭śM-ōŎŌxŜ
Č­2śŝō³Ő Ãm M-­O¹ă¸° build.properties OâM
 *
\\&K345cd­2śŝō³Ő
ō¸mexamples/registration @DG½¾m ant deploy xNM­2&l<m
KM(³Đ­Š"Ő
řšm*
 ./­2śŝō³Ő
HĹ8½¾m http://localhost:8080/jboss-seam-registration/GE-­2ÙĐ­Š"Ő
 *
 KM­ŢĪm ^ +;RSm  ØÙÚÙ ^ +;,
í ţŤç-N<K ^ ;,íĵĶ pť%o/­Đ·Ő
   )§#
/ !"*0123
Ŧxŧą& *ð§ ĩĪ,--MŨ­2³Đ·Ő ıũĎďç,-'(m
examples/registration @DG½¾m ant testexample x­2./ōŪ2śŝō³Ő Đmį
³& {^ ½¾ *ð§ HMĔ¦­2,-'(·°Ōxİrs%·Ő
- 456*  "789!:;<=> !"
789:mN¼-²´78&m78Óm'Ómã-<N¼
-ū»%Ŭ°mĎďç345%·Ő Ō&m &M3,ēs&Ť2
ŭŪ°Ōx%ŬĐŪŧćm b G45-íx­2 ^ + EF45  ¦·°ļĽ
ġm Ġç  &cdļĽŭŪ2śŎĐ·Ő
^ +n mĐŝŮůŎ%¸°xŰ³Đ·ćm¸Ū¾ű³ŬĐ­Š"Ő
ř0&|} + ×&ŲųO@<Ö×ĠçO¹Ğu­Đ·Ő ­mŴŵŲ
ų­2O¹ėF­2śŝō³Ő ŌŎ%78Ą}PGN¼-ū»ōŎ
Đ·Ő
-?@*AB
Ō&m) ×& y |}m ×&?,@,@  xm ×&-,D-EF45
  %'ęōŎ2³Đ·Ő
 
   )§#)
Ġ½¾®1°1m;<ŭ2ÙĐ­Š"Ő
- C!0D0D :User.java
78N&1m^ ?,@,@ ćŶ%·Ő Ō&GH-%m÷,45¯
2 ijŁ x 45 NŷŁ©č mŸŹdÔ­2³Đ·Ő ;R
Sx­2&GH-dÔ·°1mź³ś×½&÷,45İŶ%·Ő
ë 
@Entity (1)
@Name("user") (2)
@Scope(SESSION) (3)
@Table(name="users") (4)
public class User implements Serializable
{
private static final long serialVersionUID = 1881413500711441951L;
private String username;(5)
private String password;
private String name;
public User(String name,String password,String username)
{
this.name = name;
this.password = password;
this.username = username;
}
public User() {} (6)
 
   )§#+
@NotNull @Length(min=5,max=15) (7)
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
@NotNull
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
@Id @NotNull @Length(min=5,max=15) (8)
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
}
(1) ^ + Żż @Entity ÷,45m User GH-ć?,@,@  %¸°Ōxu­
2³Đ·Ő
(2) ;RSm @Name ÷,45%ŽdōŎ°;RSÓ ćŶ%·
Ő Ō&Ó±  345ž%7ŅG%¸°Ŷć¸ĀĐ·Ő b ć  
;RSÓxÍ;,Å-È~&>ſċ1°Îm;,Å-È~ć!
&xŬƀdÔ  [[ %¸Ŏşm  mM-N-µ¶­m ²­³M-N-;
,Å-È~M<­Đ·Ő Ō&%m b ć012muser x³"È~xń
Ɓ"xŬm  mUser M-N-æ­Đ·Ő
(3)  ćM-N-µ¶·°Îm Ŷű;RS& O¹;,Å- 
¸°;,Å-È~m ²­³M-N-M<­Đ·Ő O¹;,Å-
m @Scope ÷,45¦­2dÔōŎĐ·Ő User  mEF45-;&
;RS%·Ő
(4) ^ Żż @Table ÷,45m User GH-ć users,¨FőōŎ°Ōx
u­2³Đ·Ő
(5) namempassword!­2m username m?,@,@  &ijƂŁ%·Ő ·ƃ2&ij
ƂŁmGE-ÑÛF<ćdÔōŎ2³Đ·Ő ŌŎ¾mb ćD-R-µ¶ 
Y OPƄį¯ŃÇƅ&Ɔ²  Y [ C[  OPƄ%ŶxçĀĐ·
Ő
(6) é;-HGNm^ x  &Ƈļ&ƈƉ½¾ŶxçĀĐ·Ő
(7) @NotNull x @Length ÷,45m ¡` N NŷŁ©č OD
G&ıť%·Ő  m ¡` &NxĩĪōŎ2įĀmN&ŷŁ
©čĔ¦%ŬĐ·Ő ijŁx­2 ¡` ¦­çś2İ
(8) ^ Żż @Id ÷,45m?,@,@  &ƊÅ%¸°Ōxu­2³Đ·Ő
 
   )§#Q
Ō&%mİxİƋŵ­2Ŧ­³IJçİ&m @Name x @Scope ÷,45%·Ő
Ō&÷,45mŌ&GH-ć ;RS%¸°Ōx´d­2³Đ·Ő
User GH-&Kã,@mƌƍb;RSM<ōŎm Çƅ&ÈƆOPƄ&
êmb¯2µ¶ōŎŌxćŕƎ&ƏƐ½¾Ƒ½ĀĐ·Ő y |}x?,@,@ 
&<ÑMÇx&ê%m (Ŭƒ·°N;ő·°1m ƓƔçƍƕ;< J[ 

 Ů%·Ő
­½­m?,@,@  mH8G45=ġN¼-GE-·ƃŬ%¸Ā
ĐŪŧŐ Ɩ2mŌ&;RS b &G45-íx­2¦%ŬĐŪŧŐ ŌŎć
mEF45  ćŶç=Ɨ%·Ő
-- 10E1FG89! HI1:RegisterAction.java
Ŧxŧą&  345mEF45   b G45-íx­2¦­Đ
·Ő ƘÙŨ2 C  "Ōxİrs
Ō&345m  ×& b G45­½çśm  ×&EF45  &
ÑÛF<m!ŎG­2³Đ·Ő Ō&%m-,D-EF45  ¦
­2³Đ·Ő çƙç¾mG45ƚƛ·°·ƃ2&ƜƝmUser  ¯2ūÖōŎ2³
°½¾%·Ő
&ž%mŌŎŝŞćƞƟƠ³;<%·Ő
ë )
@Stateless (1)
@Name("register")
public class RegisterAction implements Register
{
@In (2)
private User user;
@PersistenceContext (3)
private EntityManager em;
@Logger (4)
private Log log;
public String register() (5)
{
List existing = em.createQuery(
"select username from User where username=#{user.username}") (6)
.getResultList();
if (existing.size()==0)
{
em.persist(user);
log.info("Registered new user#{user.username}");(7)
return"/registered.jsp";(8)
}
else
{
FacesMessages.instance().add("User#{user.username} already exists");(9)
return null;
}
}
 
   )§#\
}
(1) ^ Żż @Stateless ÷,45m Ō&GH--,D-EF45  x­2
¨G­2³Đ·Ő
(2) @In ÷,45m  ¯2M}PGōŎ°  &ƂŁx­2¨G­2³
Đ·Ő ŌŌ%mŌ&ƂŁmuser M-N-È~Ó x³"Ó±&;,Å-È~½¾
M}PGōŎĐ·Ő
(3) ^ Żż @PersistenceContext ÷,45m ^ +?,@,@ ^á wJ M
}PG·°1¦ōŎĐ·Ő
(4)  @Logger ÷,45m;RS& Log M-N-M}PG·°
1¦ōŎ2³Đ·Ő
(5) G45-íÑÛF<mN¼-xġĀơĀ·°1m Żż ^ +
EntityManager#y ¦­mb «¬  
 Ƣ­Đ·Ő ŌŎEF45  ç
&%m register() ÑÛF<ćłşŎxŬm H8G45¿/ö®ōŎmüý
­xŬ;ėFōŎ°ŌxƣƤ­2śŝō³Ő
(6)  m ^ fĂ£ &ž% b ^£ Á&¦rs·°ŌxƣƤ­2śŝō³Ő Ō!Ā
xmƥƦ& y#setParameter() &«¬m Żż y#Query Ą}PGłŃń­Đ·Ő
³Ş2³°xŰ³ĐŪŧ½Ƨ
(7) Log#y m,DæōŎKÑFE}qƨĞurs%·Ő
(8) b G45-íÑÛF<mÃą&|}Ğu·°½ſd·°-ƅ&«
¬  
 Ƣ­Đ·Ő  [[ «¬  
 ¸°³mC G45-íÑÛF
< m ±&|}ƩĞu­Đ·Ő ƥƦ& b %m «¬  
 ½¾ b C_ 
ſd·°1m ƪ b íl45´ƫ ¦·°ŌxćƥƦ%·Ő ÕƬç
345x2mŌ&êƍƭƮm'¦çƯ³ů(%·Ő ­½­mŌ&¯"çx2
İĎďç&1m  m«¬  
 x­2 b C_  &¦rsx
­m íl45´ƫ&ŶŁơĀưŬĐ­Ő «¬  
 x­2 C_  
¦·°ŢĪm  mƪHĹ8ăMDG("ŌxƣƤ­2śŝō³Ő
(9)  mƱƦç&>ſƲƳ·°1ƴś& ØÙÚÙ;RSƵƶ­2³Đ
·Ő FacesMessages;RSm,DæōŎ?Hġ¶ƷÑFE}q
ƨĞurs%·Ő ØÙÚÙ ;RSm M}PG45¸°³m
instance() ÑÛF<łŃń­¯2ơƸrs%·Ő
ŌŌ%m@Scope ƐuŽd­2³ç³ŌxƣƤ­2śŝō³Ő Ŕ ;RSN
MmƐu-;ćŽdōŎç³ŢĪm O¹&-;ćĈ¦ōŎĐ·Ő -,
D-EF45  &O¹-;m-,D-;,Å-%·Ő'Ĝm·ƃ2
&-,D-EF45  m -,D-;,Å-Ƃ­Đ·Ő
Ō&EF45  &G45-ímŌ&ƹōç345&1m l}S-K
}FGxijK}FGƵƶ­2³Đ·Ő ō¾ÕƬç345%m;<ƺƻæ
­ijK}FGćƼƽ&NGE-;RSxç°¯"OâGN·°Ŷć
¸°½İ­ŎĐŪŧŐ ŌŎ·°&Ďď%·ćm  m345&ƺƻæ&1
ĢģçļĽƾ­2³ç³ŌxƣƤ­2śŝō³Ő
ō¾mŌ&EF45  m ]^ G?- ëƿşmUser Ą}PGž&O¹&
ƅ ƚƛ·°;,Å-GE-·°xÍÎm H8G45Û- EntityManager
Ą}PG %ūÖōŎ°ƜƝİGE-·°ŌxƋŵ­2śŝō³Ő ŌŎǀǁç
)^^ Å,GĘ½¾&²ç®ĐĀ%·Ő İ­mǁ¤ç )^^ &ƺƻæćįƘÙ%¸Ŏş
m  345%İ'ęrs%·Ő ­½­mƴś&345x2m!Ŏ
ćǂ¦çƑŞ%¸ĀĐŪŧŐ
 
   )§#a
-/ FG89! JKL!MNO1:Register.java
ǃmEF45  mKLMNOP-ćŶ%·Ő
ë +
@Local
public interface Register
{
public String register();
}
C;<ŕ$%·Őj³2TUVWX%·Ő
-P ?!QR!STUVW:components.xml
ºƴś& C ODG¦­DŽDžć¸Ŏşm K}PGćDŽdž·°×Ŏ2m
Đ·Đ·=­LJśç°¸°Lj& èw£ OâM·ƃ2&;RSGH-dÔŸŹ·°Ō
xůŎ2³°½İ­ŎĐŪŧŐ ¸çm  ć345;RS èw£ lj
"Ŷćç³ŌxNJ°xŦx·°%­Š"Ő Njťå&  345mŦŧ&nj­
& èw£ ŝŞćŶ%·Ő!ŎmK}PGćNjŬśç2İŦxŧąNjŬśçĀĐŪŧŐ
!Ŏݽ½Ƒ¾űm¸°;RS& ¸° ìťcd&´dćrs%¸°Ōxm ƴś&
ŢĪmǂ¦%·Ő Ģm ØÙÚĐŎ;RS ŌŌ%m) ×&Ǎǎć¸ĀĐ·Ő
­½­mřİǏǐŁ&¸°Ǎǎm WEB-INF @DGÌǑ·° components.xml xłşŎ°
OâMcd´d·°Ōx%·Ő  mð{ % ^ ;RS&ŭתļŽu·
°1mcomponents.xml OâM¦­Đ·Ő
ë Q
<components xmlns="http://jboss.com/products/seam/components"
xmlns:core="http://jboss.com/products/seam/core">
<core:init jndi-pattern="@jndiPattern@"/>
</components>
Ō&;<morg.jboss.seam.core.init x³"Ó±& ;RS& jndiPattern x³
"Ó±&Kã,@cd­Đ·Ő
-X YZ STUVW:web.xml
Ō&ƹōç345&Dǒ,45ƻ]#IKMōŎĐ·Ő Ɩ2m]^ T
UVWXćŶ%·Ő
ë \
<?xml version="1.0"encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 
   )§#g
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- Seam -->
<listener>
<listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
</listener>
<!-- MyFaces -->
<listener>
<listener-class>
org.apache.myfaces.webapp.StartupServletContextListener
</listener-class>
</listener>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Faces Servlet Mapping -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.seam</url-pattern>
</servlet-mapping>
</web-app>
Ō& web.xml OâMm x wáb
 cd­Đ·Ő ŌŌ%ŭ°cdm 3
45%³×İÍ%·Ő
-[ \]^:faces-config.xml
·ƃ2&  345Dǒ,45ƻx­2 b l¦­Đ·Ő Ɩ
2mfaces-config.xml ćŶ%·Ő
ë a
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE faces-config
PUBLIC"-//Sun Microsystems,Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<!-- A phase listener is needed by all Seam applications -->
<lifecycle>
<phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
</lifecycle>
</faces-config>
faces-config.xml OâMm  b ĩĪ­Đ·Ő b =  ŸŹćŮçŌxƣ
Ƥ­2śŝō³Ő b =  m;RS%·Ő ƥƦ& b 345
 
   )§#h
xǓǔ·°xm  345mfaces-config.xml Ŧxŧą¦­ĐŪŧŐ
'ĜmĠçVWX&cdŝ޸Ŏşm ²­³ēs  345Ě·°xŬ
Ŷxç° èw£ m íl45´ƫxǕŧB yw KE-dÔ ŝŞ%·Ő  mèw£
VōŎ KE-OK x cdN½¾lơƸ­Đ·Ő
Ō&Ďďç%m C_  G45;<ǖ1Úŧŝ1m íl45´ƫ
ōƿŮ%·Ő
-_ Z STUVW:ejb-jar.xml
ejb-jar.xml OâMm LMž&·ƃ2&EF45   SeamInterceptor ÞĚ·
°Ōx¯2 ^ + xĩĪ­Đ·Ő
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
version="3.0">
<interceptors>
<interceptor>
<interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
</interceptor>
</interceptors>
<assembly-descriptor>
<interceptor-binding>
<ejb-name>*</ejb-name>
<interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
</interceptor-binding>
</assembly-descriptor>
</ejb-jar>
-` Z abSTUVW:persistence.xml
persistence.xml OâMm^ ijKMăm NÛ-&ŢǗŽu­Đ·ŐĐm
¼ăĢǂ&cdĥŧ%³Đ·Ő Ō&%./Î¿/-Å¨?Å-Rrs
x­2³Đ·Ő
<?xml version="1.0"encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="userDatabase">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto"value="create-drop"/>
</properties>
</persistence-unit>
</persistence>
-c d:register.jsperegistered.jsp
 345&l|}m b R·°ƴś&ǘǙ¦­2'ęōŎ2
³Đ·Ő y ƴś&öǚǛx2NJ¾Ŏ2³°ŌxmŌŌ%řƹǜ&Ý­½ç³1m
Ō&%my ¦­2³Đ·Ő %İmǝĆ   &<M-ǞŞŎşm
345% b
[ "Ōxİrs
 
   )§#k
ë g
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@ taglib uri="http://jboss.com/products/seam/taglib"prefix="s"%>
<html>
<head>
<title>Register New User</title>
</head>
<body>
<f:view>
<h:form>
<table border="0">
<s:validateAll>
<tr>
<td>Username</td>
<td><h:inputText value="#{user.username}"/></td>
</tr>
<tr>
<td>Real Name</td>
<td><h:inputText value="#{user.name}"/></td>
</tr>
<tr>
<td>Password</td>
<td><h:inputSecret value="#{user.password}"/></td>
</tr>
</s:validateAll>
</table>
<h:messages/>
<h:commandButton type="submit"value="Register"action="#{register.register}"/>
</h:form>
</f:view>
</body>
</html>
Ō& b;RSmb ŲųO@<&NǟĪŁ©čŽu­2³Đ·Ő 
NǟĪŁ©čm?,@,@  ¡` 45÷,45%ŽdōŎĐ·
Ő
ë h
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<html>
<head>
<title>Successfully Registered New User</title>
</head>
<body>
<f:view>
Welcome,<h:outputText value="#{user.name}"/>,
you are successfully registered as <h:outputText value="#{user.username}"/>.
</f:view>
</body>
</html>
ŌŎmŻż b;RS¦­ƓƔçǀ³ y |}%·Ő  ǠĢ&İ&Ō
Ō¸ĀĐŪŧŐ
-f Z'g STUVW:application.xml
 
   )§#n
řšm^#Ix­2 345ćKMōŎ°1mTUVWXİŶ%·Ő
ë k
<?xml version="1.0"encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
version="5">
<display-name>Seam Registration</display-name>
<module>
<web>
<web-uri>jboss-seam-registration.war</web-uri>
<context-root>/seam-registration</context-root>
</web>
</module>
<module>
<ejb>jboss-seam-registration.jar</ejb>
</module>
<module>
<java>jboss-seam.jar</java>
</module>
<module>
<java>el-api.jar</java>
</module>
<module>
<java>el-ri.jar</java>
</module>
</application>
Ō&TUVWX?NHMƄLM&Ç}xG­m ]^ 345
;,Å-/seam-registration M<­Đ·Ő
?NHMƄ345ž&·ƃ2&OâMŭüƑĀĐ­Ő
-- 3hij
O¹ćėFōŎxŬm b m  user x³"Ó±&È~>ſ·°¯"ċ
­Đ·Ő!&Ó±M<ōŎƅć»ǡ­ç³1 ą& ;,Å-İ m 
muser;RSM-N-æ­m!Ŏ  EF45;,Å-ū­
šm User?,@,@  M-N- b Ƣ­Đ·Ő
O¹&Ųųƅm User?,@,@%ŽdōŎ ¡` NúŨ­
NǟĪŁ©čōŎĐ·Ő úǢǣ­ŢĪm b m|}ƩĞu­Đ·Ő!"%ç³ŢĪ
m b mO¹&Ųųƅ User?,@,@  &Kã,@M<­Đ·Ő
Ãmb   È~Ó register &>ſċ­Đ·Ő  m-,D-;,Å-
ž& RegisterAction -,D-EF45  ŭתm!ŎƢ­Đ·Ő b m
register() G45-íÑÛF<łŃń­Đ·Ő
 mÑÛF<łŃń­MNE­młŃń­ćŏĦ±m  EF45;,Å
-½¾ User?,@,@M}PG­Đ·Ő
register() ÑÛF<m ŲųōŎ78Óćº»ǡ·°½ą"½ǤƃĐ·Ő »ǡ­ŢĪ
 
   )§#
m?HÑFE}m FacesMessages;RSÅMōŎm!­2m [[ «¬
 
 ćƢōŎm|}ćƩĞuōŎĐ·Ő FacesMessages;RSm ÑFE}-
ØÙÚĐŎ b Áǥţ­m C_  b FacesMessage Ě­Đ·Ő
!&78Ó&78ć»ǡ­ç³ŢĪm registered.jsp |}HĹ8ăMDG·°"/
registered.jsp"«¬  
 ǚµōŪĐ·Ő b |}Dă·°xŬm  
muser x³"Ó±&È~&>ſċ­m  &EF45-;½¾ƢōŎ User?,
@,@&Kã,@ƅ¦­Đ·Ő
/  HGHkl1:mno !"
N¼-&©ª«¬GFGrs-x·°Ōxm ƴś&ĄHM345
į³2³ĸŧIJçťå%·Ő  m^ fĂ£ Đ¡Ă£ ¦­NG?xm b
<h:dataTable> ¦­GFGrsç-!ŎĞu·°Ōxqƨ·°1m b
$ĢźçēsƵƶ­Đ·Ő Ō&tuvmŌ&ēs'Ǧ­2³Đ·Ő
/?@*AB
Ō&tuvm  ×&?,@,@  %¸° Messagem  ×&EF45  %
¸° MessageListBeanm!­2  ×& y ½¾ŗ¶ōŎ2³Đ·Ő
 
   )§#)
/ C!0D0D :Message.java
Message?,@,@  m NMm,Å-mtuÑFE}&ǧÞxÎêm!­2m
ÑFE}ćºǨ½ǩ½u·OHdÔ­2³Đ·Ő
ë n
@Entity
@Name("message")
@Scope(EVENT)
public class Message implements Serializable
{
private Long id;
private String title;
private String text;
private boolean read;
private Date datetime;
@Id @GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@NotNull @Length(max=100)
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@NotNull @Lob
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
@NotNull
public boolean isRead() {
return read;
}
public void setRead(boolean read) {
this.read = read;
}
@NotNull
@Basic @Temporal(TemporalType.TIMESTAMP)
public Date getDatetime() {
return datetime;
}
public void setDatetime(Date datetime) {
this.datetime = datetime;
}
}
/- 10NFG89!:MessageManagerBean.java
 
   )§#+
±W&ÍƉm  ×&EF45  MessageManagerBean ć¸ĀĐ·Ő!ŎmO¹
¸° ) ×&õNŨ·°G45-íÑÛF<dÔ­2³Đ·Ő õN&  ×
m-½¾ÑFE}Ǎǎ­m İ" ×&õNmÑFE}Ǫư­Đ·Ő Ō&ǫį
³2m±W&xNjŬçǢ³¸ĀĐŪŧŐ
­½­m 012tuv|}Ǭǭøù·°xŬm MessageManagerBean mÑFE}&-
ơƸ·°ǮǯİÖĆĐ·Ő 78ćǬǭøùōŪ°ļĽōĐǰиĀĐ·ćm ŌŎ¾&·
ƃ2ć b G45¯2ŏ1¾Ŏ°ƑŞ%¸ĀĐŪŧŐ ŋëƿşm78FG¨G
­2³°½İ­ŎĐŪŧŐ Ɩ2mÑFE}-ơƸ·°oŒm G45-íÑÛ
F<&DZƑĀm  e
á  %(ƑŎĐ·Ő
ÑFE}&-G?-Đć2ÑÇÅĘF4­³&%m -,O
EF45  %ŌŎ(³Đ·Ő
ë 
@Stateful
@Scope(SESSION)
@Name("messageManager")
public class MessageManagerBean implements Serializable,MessageManager
{
@DataModel (1)
private List<Message> messageList;
@DataModelSelection (2)
@Out(required=false) (3)
private Message message;
@PersistenceContext(type=EXTENDED) (4)
private EntityManager em;
@Factory("messageList") (5)
public void findMessages()
{
messageList = em.createQuery("from Message msg order by msg.datetime desc").getResultList();
}
public void select() (6)
{
message.setRead(true);
}
public void delete() (7)
{
messageList.remove(message);
em.remove(message);
message=null;
}
@Remove @Destroy (8)
public void destroy() {}
}
(1) @DataModel  ÷, 4 5  m java.util.List N M  & Ƃ Ł m
javax.faces.model.DataModel M-N-x­2 b |}Dzö­Đ·Ő ŌŎmŔ(
­2GFGrsçGÖ× b <h:dataTable> ž&-¦rsx­Đ·Ő Ō
&%m DataModel m messageList x³"Ó±&EF45;,Å-ž%Ĕ¦
rsçĀĐ·Ő
 
   )§#Q
(2) @DataModelSelection ÷,45m  GFGōŎGxƚƛ­ List ħ
M}PG·°¯"Žu­2³Đ·Ő
(3) @Out÷,45mÃǍǎōŎƅƌƍ|}Dzö­Đ·Ő Ɩ2mGFGrs
-&(ćǍǎōŎ°Ńm Message m-,O  &ƂŁM}PG
B
 ōŎm j³2 message x³"Ó±&M¼;,Å-È~Ĺ}PG
 B
 ōŎĐ·Ő
(4) Ō&-,O  m^ + ĺĻij;,Å- Z Y

Z 
Ö2³Đ·Ő Ō&  ć»ǡ·°ǜĀm G?©ªōŎ J m=ōŎ
ƜƝūÖōŎĐ·Ő Ɩ2m!Ŏjś-,O  ĸ&ÑÛF<łŃń­m Ɛ
u EntityManager łŃń·Ōxçśm!Ŏ¾&Ɔ²ćrs%·Ő
(5) 012 y |}Ǭǭøù·°xŬm messageList;,Å-È~žƅÖ2³Đ
ŪŧŐ @Factory ÷,45m  MessageManagerBean M-N-&µ¶Žu
­m 0þƅcd·°1 findMessages() ÑÛF<łŃń­Đ·Ő findMessages() 
messages & OâGÑÛF< e
á  xłŃĐ·Ő
(6) select() G45-íÑÛF<m ǍǎōŎ Message ºǨ ¨GÞŞm N
¼-ž&!ŎƆ²­Đ·Ő
(7) delete() G45-íÑÛF<m ǍǎōŎ Message N¼-½¾Ǫư­Đ·
Ő
(8) ·ƃ2&-,OEF45  & ;RSm @Remove @Destroy x¨
GōŎÑÛF<Ö×Ōxć Ŷdz   %·Ő ŌŎ¯Ām;,Å-ćüƑ
ĀmM<&¸¾Ǵ°ƜƝGF·°xŬm  mŜ'-,O
  &Ǫư(³Đ·Ő
ŌŎćEF45-;& ;RS%¸°ŌxƣƤ­2śŝō³Ő 78KM
EF45xƚƛ­KMEF45½¾&·ƃ2&G?-m Í;RS&M
-N-Ʊǂ­Đ·Ő  345%mEF45-;&;RS
ǵƿ1¦­2śŝō³Ő
// FG89! JKL!MNO1:MessageManager.java
İĆǶŧm·ƃ2&EF45  MNOP-ÖĆĐ·Ő
@Local
public interface MessageManager
{
public void findMessages();
public void select();
public void delete();
public void destroy();
}
ŌŌ½¾m;<ž&KLMNOP-&tǷǸǹ­Đ·Ő
components.xml m persistence.xmlm web.xml m ejb-jar.xml m faces-config.xmlm!­2
application.xml m±WĐ%&xŦǺÍç&%m-ÅF­2 y ŏÙĐ­Š"Ő
/P d:messages.jsp
Ō&y|} b <h:dataTable>;RS¦­Ďďçİ&%·Ő  x­2Ģź
çİ&¸ĀĐŪŧŐ
 
   )§#\
ë )
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<html>
<head>
<title>Messages</title>
</head>
<body>
<f:view>
<h:form>
<h2>Message List</h2>
<h:outputText value="No messages to display"rendered="#{messageList.rowCount==0}"/>
<h:dataTable var="msg"value="#{messageList}"rendered="#{messageList.rowCount>0}">
<h:column>
<f:facet name="header">
<h:outputText value="Read"/>
</f:facet>
<h:selectBooleanCheckbox value="#{msg.read}"disabled="true"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Title"/>
</f:facet>
<h:commandLink value="#{msg.title}"action="#{messageManager.select}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Date/Time"/>
</f:facet>
<h:outputText value="#{msg.datetime}">
<f:convertDateTime type="both"dateStyle="medium"timeStyle="short"/>
</h:outputText>
</h:column>
<h:column>
<h:commandButton value="Delete"action="#{messageManager.delete}"/>
</h:column>
</h:dataTable>
<h3><h:outputText value="#{message.title}"/></h3>
<div><h:outputText value="#{message.text}"/></div>
</h:form>
</f:view>
</body>
</html>
/- 3hij
ř0m messages.jsp |}ǬǭøùōŪ°xŬm b R-FG e
 G?- %
İm HĹ8½¾&ƌƍç §^* G?- fe
 G?- %İm |}m
messageList;,Å-È~>ſ­¯"x ÙĐ·Ő Ō&;,Å-È~m0þæōŎ2
³ç³1m  mOâGÑÛF< findMessages()łŃń­Đ·Ő!ŎmN¼
-G?ǚ(ġm Ĺ}PG  B
 ōŎ DataModel &«¬ơƸ(³Đ·Ő Ō
& DataModel m <h:dataTable> Dă·°1Ŷç(NƵƶ­Đ·Ő
78ć <h:commandLink> GFG­xŬm b mselect() G45-íłŃń­
Đ·Ő  mŌ&łŃń­MNE­m ǍǎōŎ(N messageManager;
RS& message ƂŁM}PG­Đ·Ő ǍǎōŎ Message ºǨ¨G­mG
45-í'(ōŎĐ·Ő łŃń­&üƑĀm  mǍǎōŎ Message  message
x³"Ó±&;,Å-È~Ĺ}PG­Đ·Ő Ãm^ ;,ímH8G45
 
   )§#a
;ėF­m Message &ÈƆmN¼-OHF4ōŎĐ·Ő řšmŌ&|}
mƩDăōŎm ÑFE}-&ƩĞux!&ķǍǎōŎÑFE}Ğu(³
Đ·Ő
78ć <h:commandButton> GFG­xŬm b mdelete() G45-íłŃń
­Đ·Ő  mŌ&łŃń­MNE­m ǍǎōŎ(N messageList;R
S& message ƂŁM}PG­Đ·Ő ǍǎōŎ Message ć-½¾ǪưōŎm
EntityManager & remove() ćłşŎ°xŬm G45-ím'(­Đ·Ő łŃń­&üƑ
Ām  mmessageList;,Å-È~Ɔ²­m message x³"Ó±&;,Å-È
~G­Đ·Ő ^ ;,ímH8G45;ėF­m N¼-½¾
Message Ǫư­Đ·Ő řšmŌ&|}mƩDăōŎmÑFE}-ƩĞu
­Đ·Ő
P  p qrs:.tuvt 1 !"
B yw mGOKġN-G=&ÉŎēsƵƶ­Đ·Ő ą&¯" B yw ć  xĩ
ĪōŎ2³°½NJ°1m Ďďç *f{ -345įŭŪ­Đ­Š"Ő N-
G&-=·°ŌxmB yw &žǻçēs%¸°1m Ō& C;<
ćŦxŧą¸ĀĐŪŧŐ
P?@*AB
Ō&&žǻmB yw &KE-dÔ%·Ő ) ×& y x ) ×&ĆŠx­ C 
ݸĀĐ·Ő N¼-GE-ġH8G45ĢŁćç³&%m EF45  
¦·°=Ɨ¸ĀĐŪŧŐ!Ŏ%KE-dÔ½¾®1Đ­Š"Ő
 
   )§#g
ë +
<process-definition name="todo">
<start-state name="start"> (1)
<transition to="todo"/>
</start-state>
<task-node name="todo"> (2)
<task name="todo"description="#{todoList.description}"> (3)
<assignment actor-id="#{actor.id}"/> (4)
</task>
<transition to="done"/>
</task-node>
<end-state name="done"/> (5)
</process-definition>
(1) <start-state> ÷<KE-&Ǽ=çö®Ğ­Đ·Ő KE-ćö®­xŬm!
Ŏ·ǽ todo øù­Đ·Ő
(2) <task-node> ÷<mǾĆƜƝ _  Ğ­Đ·Ő ŌŌ%m ×ŕ$&N-Gć(
ƑŎ°&Ǿ×1m l}S-KE-&'(mǿȀ­Đ·Ő
(3) <task> ħm78¯2'(ōŎ°N-GdÔ­Đ·Ő Ō&÷<m ×&N
-G­½dÔōŎ2³ç³&%m!Ŏćţý­xŬm'(mƩöōŎüýƜƝ 
 øù­Đ·Ő Ō&N-Gm todoList x³"Ó±& ;RS½¾ 
×& C  ½¾ 
Y ơƸ­Đ·Ő
(4) N-G浶ōŎxŬmN-G78¸°³78ÿĀ2°Ŷć¸Ā
Đ·Ő Ō&%mN-Gmȁǡ&78ÿĀ2¾Ŏ2³Đ·Ő!Ŏmactor
x³"Ó±&ØÙÚÙ ;RS½¾ơƸ­Đ·Ő ą&¯"ç ;RS
İN-GÿĀ2'(·°1¦ōŎ°rsŁć¸ĀĐ·Ő
(5) <end-state>÷<ml}S-KE-&Ǽ=çüýdÔ­Đ·Ő'(ćŌ&÷<
Ȃȃ­xŬm KE-M-N-mȄȅōŎĐ·Ő
 {^ ƵƶōŎKE-dÔ?@N¦­2KE-dÔŭŢĪm ŕķ&¯"
çĀĐ·Ő
 
   )§#h
Ō&<ÅÑm÷<&HOx­2 l}S-KE- dÔ­Đ·Ő ŌŎōō³çȁ
'¸ĀƸ°l}S-KE-%·Ő'(ōŎçŞŎşç¾ç³ N-G m ×ŝŞ%·Ő N
-Gćţý­xŬ l}S-KE-üý­Đ·Ő
ř0& C  mKMǬǭ login.jsp Ȇ³Đ·Ő!&ƈȇmactor;RS
¦­2 B yw 
  0þæ·°ŝŞ%·Ő 'Ĝ&345%m78ČčİŶ
%·Ő
ë Q
@Name("login")
public class Login {
@In
private Actor actor;
private String user;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String login()
{
actor.setId(user);
return"/todo.jsp";
}
}
 
   )§#k
ŌŌ%mØÙÚÙ Actor;RSM}PG·°1m @In ¦­2³°&ć
Ƒ½ĀĐ·Ő
Ã&yơ°Ȉ¾ç³İ&%·Ő
ë \
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<f:view>
<h:form>
<div>
<h:inputText value="#{login.user}"/>
<h:commandButton value="Login"action="#{login.login}"/>
</div>
</h:form>
</f:view>
</body>
</html>
) ×1& C  ml}S-KE-M-N-&ö®xN-G&üýȉ­Đ·Ő
ë a
@Name("todoList")
public class TodoList {
private String description;
public String getDescription() (1)
{
return description;
}
public void setDescription(String description) {
this.description = description;
}
@CreateProcess(definition="todo") (2)
public void createTodo() {}
@StartTask @EndTask (3)
public void done() {}
}
(1) 
Y Kã,@my |}½¾78ŲųǞŞơĀm N-Gpq

Y ćcdōŎ°¯"m!ŎKE-dÔDzö­Đ·Ő
(2)  @CreateProcess ÷,45mÓ±ÞŬKE-dÔ&1 B yw KE-M
-N-µ¶­Đ·Ő
(3)  @StartTask ÷,45mN-G$%oŒö®­Đ·Ő @EndTask mN-G
üý­ml}S-KE-&Ʃörs­Đ·Ő
 
   )§#)n
¯Āȁ'ç%m @StartTask x @EndTask ÍÑÛF<&$9Ţ­ĐŪŧŐ ç
ƙç¾mƦƪmN-Gţý·°1m345¦­2(ƑŎ°ƈȇ渰½¾%
·Ő
řšmŌ&345&RM todo.jsp ¸ĀĐ·Ő
ë g
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@ taglib uri="http://jboss.com/products/seam/taglib"prefix="s"%>
<html>
<head>
<title>Todo List</title>
</head>
<body>
<h1>Todo List</h1>
<f:view>
<h:form id="list">
<div>
<h:outputText value="There are no todo items."rendered="#{empty taskInstanceList}"/>
<h:dataTable value="#{taskInstanceList}"var="task"rendered="#{not empty taskInstanceList}">
<h:column>
<f:facet name="header">
<h:outputText value="Description"/>
</f:facet>
<h:inputText value="#{task.description}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Created"/>
</f:facet>
<h:outputText value="#{task.taskMgmtInstance.processInstance.start}">
<f:convertDateTime type="date"/>
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Priority"/>
</f:facet>
<h:inputText value="#{task.priority}"style="width:30"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Due Date"/>
</f:facet>
<h:inputText value="#{task.dueDate}"style="width:100">
<f:convertDateTime type="date"dateStyle="short"/>
</h:inputText>
</h:column>
<h:column>
<s:button value="Done"action="#{todoList.done}"taskInstance="#{task}"/>
</h:column>
</h:dataTable>
</div>
<div>
<h:messages/>
</div>
<div>
<h:commandButton value="Update Items"action="update"/>
</div>
</h:form>
<h:form id="new">
<div>
<h:inputText value="#{todoList.description}"/>
<h:commandButton value="Create New Item"action="#{todoList.createTodo}"/>
</div>
 
   )§#)
</h:form>
</f:view>
</body>
</html>
 ×ű×ơĀń­Đ­Š"Ő
|}N-G-Dă­2³Đ·Ő ŌŎmtaskInstanceList xłşŎ°  Ø
ÙÚÙ;RS½¾ơƸ­Đ·Ő Ō&-bO¹&ždÔōŎ2³Đ·Ő
<h:form id="list">
<div>
<h:outputText value="There are no todo items."rendered="#{empty taskInstanceList}"/>
<h:dataTable value="#{taskInstanceList}"var="task"rendered="#{not empty taskInstanceList}">
...
</h:dataTable>
</div>
</h:form>
-&Ŕħ B yw GH- TaskInstance &M-N-%·Ő ŕķ&;<ďm-
ž&ŔN-G&ƞƟƠ³Kã,@Ğu­2³Đ·Ő 
Y VWpqmÉÊËġmȊþ
&ƅÈƆrs·°1m b Ųųúû Y *ZŇ 
 ¦­Đ·Ő
<h:column>
<f:facet name="header">
<h:outputText value="Description"/>
</f:facet>
<h:inputText value="#{task.description}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Created"/>
</f:facet>
<h:outputText value="#{task.taskMgmtInstance.processInstance.start}">
<f:convertDateTime type="date"/>
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Priority"/>
</f:facet>
<h:inputText value="#{task.priority}"style="width:30"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Due Date"/>
</f:facet>
<h:inputText value="#{task.dueDate}"style="width:100">
<f:convertDateTime type="date"dateStyle="short"/>
</h:inputText>
</h:column>
Ō&õNm @StartTask @EndTask ÷,45ÞŬ&G45ÑÛF<ćłŃńōŎ°Ō
x¯Āüý­Đ·Ő!Ŏmî  G?-ãHÑNx­2  ȋ­Đ·Ő
<h:column>
<s:button value="Done"action="#{todoList.done}"taskInstance="#{task}"/>
</h:column>
seam-ui.jar ãF3}½¾m  <s:button> b;K¦­2³°ŌxƣƤ­2
śŝō³Ő
 
   )§#))
Ō&õNm N-G&Kã,@ÈƆ·°1¦ōŎĐ·Ő O¹ćėFōŎ
xŬm  x B yw mN-G·°ą&¯"çÈæİijæ­Đ·Ő G45-íÑ
ÛF<ŤśŮ%·Ő
<h:commandButton value="Update Items"action="update"/>
|}& ) ×ŵ&O¹²­³M,o¶·°1¦ōŎĐ·Ő @CreateProcess÷
,45ÞŬG45ÑÛF<½¾łŃńōŎ°Ōx¯Ā(ƑŎĐ·Ő
<h:form id="new">
<div>
<h:inputText value="#{todoList.description}"/>
<h:commandButton value="Create New Item"action="#{todoList.createTodo}"/>
</div>
</h:form>
Ō&m!&Ȍ³ś×½ŶçOâMć¸ĀĐ·ćm!Ŏ¾ Żżç B yw ġ
 &cd%¸ĀĢģçİ&¸ĀĐŪŧŐ
P- 3hij
*z{z
X  wxNJ:yz{6|} !"
Ǔǔ¿Ɨç <FG ǬǭøùÖ×  345%m b íl45´
ƫm|}OKdÔ·°&řĈçļĽ%·Ő ō¾ú&ƴ³ǬǭøùÖ×3
45m Ģ¯Ā-,Oç78MNOP-%m íl45´ƫć4-,&
ȍŎ=>·°Ōxqƨ%¸ĀĐŪŧŐ OK=>·°1ml|}mG45
míl45´ƫ½¾mOKƚ·°ijĴ½ŬȎ1°Ŷć¸ĀĐ·Ő
 mBy{£ KE-dÔ"Ōx%|}OKdÔrs­Đ·Ő Ō&Ďďç~2
½¾ą&¯"ŌŎć'ȁōŎ2³°½ćƑ½ĀĐ·Ő
X?@*AB
 
   )§#)+
Ō&  ×&C m+ ×& y |}m!Ŏx By{£ KE-OKdÔ%'ęō
Ŏ2³Đ·Ő |}OK½¾ŭ®1Đ­Š"Ő
ë h
<pageflow-definition name="numberGuess">
<start-page name="displayGuess"view-id="/numberGuess.jsp">
<redirect/>
<transition name="guess"to="evaluateGuess">
<action expression="#{numberGuess.guess}"/>
</transition> (1)
</start-page> (2)
(3)
<decision name="evaluateGuess"expression="#{numberGuess.correctGuess}">
<transition name="true"to="win"/>
<transition name="false"to="evaluateRemainingGuesses"/>
</decision> (4)
<decision name="evaluateRemainingGuesses"expression="#{numberGuess.lastGuess}">
<transition name="true"to="lose"/>
<transition name="false"to="displayGuess"/>
</decision>
<page name="win"view-id="/win.jsp">
<redirect/>
<end-conversation/>
</page>
<page name="lose"view-id="/lose.jsp">
<redirect/>
<end-conversation/>
</page>
</pageflow-definition>
(1) <page> ħmǾĆƜƝ _  dÔ­2³Đ·Ő ŌŌ%m4-,Ģd&
b lĞu­m78ŲųǾ2³Đ·Ő view-id ƥƦ& b íl45´
ƫ%¦ōŎ2³° b C_  xÍİ&%·Ő |}ćǬǭøù·°xŬm redirect
ƂŁm  Yff
 &¦Žu­2³Đ·Ő Ō&«¬ćHĹ8 AI£
ĞuōŎĐ·Őȏ
(2) <transition> ħmb «¬  
 Ó±ÞŞĐ·Ő b G45櫬
 
 ńų·°xŬm  mȐōŎĐ·Ő B yw  

&łŃń­&šm'(m|}OKHO&Ã&÷<ŏ1¾ŎĐ·Ő
(3)  & <action> m B yw & %!Ŏć.Ō°ŌxưŞşm b 

xÍ%·Ő  
 mą&¯"ç ;RS%İłŃń·Ōxćr
s%·Ő
(4) <decision> ÷<|}OKåȑōŪm b ^£ ÁȒȓ·°Ōx¯2Ã'(ō
Ŏ°÷<ſd­Đ·Ő
 {^ |}OK?@N%&|}OKŕķ&¯"çĀĐ·Ő
 
   )§#)Q
|}OKŭüƑĀĐ­Ő 345&ȔĀ&ťå=>·°Ōxİ"Ďď%·Ő
ŌŎ345&Ɗç|} numberGuess.jsp %·Ő
ë k
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<html>
<head>
<title>Guess a number...</title>
</head>
<body>
<h1>Guess a number...</h1>
<f:view>
<h:form>
<h:outputText value="Higher!"rendered="#{numberGuess.randomNumber>numberGuess.currentGuess}"/>
<h:outputText value="Lower!"rendered="#{numberGuess.randomNumber<numberGuess.currentGuess}"/>
<br/>
I'm thinking of a number between <h:outputText value="#{numberGuess.smallest}"/> and
<h:outputText value="#{numberGuess.biggest}"/>.You have
<h:outputText value="#{numberGuess.remainingGuesses}"/> guesses.
<br/>
Your guess:
<h:inputText value="#{numberGuess.currentGuess}"id="guess"required="true">
<f:validateLongRange
maximum="#{numberGuess.biggest}"
minimum="#{numberGuess.smallest}"/>
</h:inputText>
<h:commandButton type="submit"value="Guess"action="guess"/>
<br/>
<h:message for="guess"style="color:red"/>
</h:form>
</f:view>
</body>
</html>
 
   )§#)\
G45ƌƍłŃń·DZƑĀm ą&¯";¨<õNguess Žd­2³
°½ƕŵ­2śŝō³Ő
win.jsp |}ȕśƥƦ&İ&%·Ő
ë )n
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<html>
<head>
<title>You won!</title>
</head>
<body>
<h1>You won!</h1>
<f:view>
Yes,the answer was <h:outputText value="#{numberGuess.currentGuess}"/>.
It took you <h:outputText value="#{numberGuess.guessCount}"/> guesses.
Would you like to <a href="numberGuess.seam">play again</a>?
</f:view>
</body>
</html>
lose.jsp İÍƉ%·Ő ;őȖ|-ć%Ŭç³ȗĀĐ·ć řšmC  ;
RS%·Ő
ë )
@Name("numberGuess")
@Scope(ScopeType.CONVERSATION)
public class NumberGuess {
private int randomNumber;
private Integer currentGuess;
private int biggest;
private int smallest;
private int guessCount;
private int maxGuesses;
@Create (1)
@Begin(pageflow="numberGuess") (2)
public void begin()
{
randomNumber = new Random().nextInt(100);
guessCount = 0;
biggest = 100;
smallest = 1;
}
public void setCurrentGuess(Integer guess)
{
this.currentGuess = guess;
}
public Integer getCurrentGuess()
{
return currentGuess;
}
public void guess()
{
if (currentGuess>randomNumber)
 
   )§#)a
{
biggest = currentGuess - 1;
}
if (currentGuess<randomNumber)
{
smallest = currentGuess + 1;
}
guessCount ++;
}
public boolean isCorrectGuess()
{
return currentGuess==randomNumber;
}
public int getBiggest()
{
return biggest;
}
public int getSmallest()
{
return smallest;
}
public int getGuessCount()
{
return guessCount;
}
public boolean isLastGuess()
{
return guessCount==maxGuesses;
}
public int getRemainingGuesses() {
return maxGuesses-guessCount;
}
public void setMaxGuesses(int maxGuesses) {
this.maxGuesses = maxGuesses;
}
public int getMaxGuesses() {
return maxGuesses;
}
public int getRandomNumber() {
return randomNumber;
}
}
(1) ř0my |}ć numberGuess;RSċ·°xŬm  ²­³;R
Sµ¶­Đ·Ő!­2m@Create ÑÛF<ćłşŎm;RS¿Ș&0þæć
rsçĀĐ·Ő
(2) @Begin ÷,45m  &ö®­ șäšWȏm &|}OK
¦·°1&|}OKdÔŽd­Đ·Ő
įå½Ā&ƦĀmŌ& ;RSȚțçl}S-K}FG%·Ő 78MNHG4
5&OK׳2ĐśNJ°Ŷć¸ĀĐŪŧŐ ŌŎȜ;RS&ƩĔ¦Ł
ȝ$ōŪĐ·Ő
X- 3hij
 
   )§#)g
*z{z
[ ~  "789!:0 !"
[ 5
Ō&345ŕķ&ĢȞÖ×ç,&ťȟ4-,%·Ő
Ř 789:
Ř KM
Ř KĹ
Ř ã-<cd
Ř ,©ª
Ř ,Ǎǎ
Ř ťȟ
Ř ŜČ
Ř ȁƜ&-
 
   )§#)h
Ō&345 bm^ +nm xxİlx­2 b
[ ¦­2³Đ
·Ő bmb
[mmC !­2m¡`+ &345&ùȠȡݸĀĐ
·
Ō&345¸°ȢĒ&þêm ³2Ƒ½°Ōx&  ×m!Ŏćx2İ ȣȤ
`  %¸°Ōx%·Ő ô°õN³2İm HĹ8&Ɔ²­2İm Õ~&Ĺ@
<ö³2İm ȥƤƟçNƘŬçŝŞŲų­2İm 345GHF4ōŪ°
Ōxćx2İȗLJ%¸°ŌxćƑ½ĀĐ·Ő ŌŎȃ¶·°1,-ġơĀȦȧêİȨ
½xŰƑŎ°½İ­ŎĐŪŧŐ ȁ'!ŧçŌx¸ĀĐŪŧŐ  mȣȤç ]^ 
345Ďďŗȩ%Ŭ°¯"cȪōŎ2³Đ·Ő!­2mŌŎĐ%;@!&
İ&¯2Ƹ¾Ŏ2³ȣȤŁm  ¦·°Ōx%¿ǃ½×¿/Ƹ¾ŎĐ·Ő
 
   )§#)k
345&;<ŭŎşm ą&¯"345ć/o­2³°½ȫƸ
%ŬĐ·Ő!­2mŌ&ȣȤŁ&ȃ¶·°1m ą&¯"ŸŹƜƝ=ġĩĪōŎ
NŷŁ©čć¦ōŎ2³°½ŭ°Ōxć%ŬĐ·Ő
[-  !"*
K}PG&ŗ¶ŕ±&İ&xÍ%·Ő Ŵ Ȭ !"ȭ Ȯȯ­2śŝō³
Ő"Đ ś    3  4 5  ć./­  ç ¾ şm  H Ĺ 8 ½ ¾ Ž d ­2
http://localhost:8080/seam-booking/GE-·°Ōxćrs%·Ő
ĆŠ"ą k ×&GH- Ěƿ2ma ×&EF45  &MNOP-x  ×&÷,4
5&MNOP-ćm Ō&345&'ę&1ƑŎ2³Đ·Ő a ×&EF4
5  G45-í-VǷōŎĢȞ&1·ƃ2&l}S-K}FGĥŧ
%³Đ·Ő
Ř BookingListAction m!&Î&KM78&1ȁƜ&ơƸ­Đ·Ő
Ř ChangePasswordAction m!&Î&KM78&ã-<ÈƆ­Đ·Ő
Ř HotelBookingAction m345&žĕēs'ę­Đ·Ő ,ťȟ©ªmǍǎ
mmŜČŐ Ō&ēsm x­2'ęōŎ2įĀm Ō&345%İ
xİƚǻȰśGH-%·Ő
Ř RegisterAction m²­³4-,789:­Đ·Ő
+ ×&?,@,@  ć345&ij<ÑMÇ'ę­2³Đ·Ő
Ř Hotel m,Ğ·?,@,@  %·Ő
Ř Booking mȁƜ&Ğ·?,@,@  %·Ő
Ř User m,ć%Ŭ°78Ğ·?,@,@  %·Ő
[/      *AB
ȱćȝ³ç¾şÛ-;<ǨĐŎ°ŌxįȲ1­Đ·Ő Ō&%mĢd&
ēs ,©ªmǍǎmxŜČ Ȏž­Đ·Ő 78&ȳǫ½¾ŭ°xm ,&Ǎǎ
½¾ŜČĐ%&·ƃ2m ×&ƛj­ƈȇ&ďÌm ×ĐĀ  
C %·Ő
­½­m©ªm&ıť%¸ĀĐŪŧŐ 78m ȴç°HĹ8N%Í©ª«¬|
}½¾Õ~&,Ǎǎrs%·Ő
Ŧxŧą& ]^ 345&Å,GĘmDzö·°1&ŗȵÖ2³ĐŪ
ŧŐ ŌŎmƚƛ­ƜƝ=ƚ·°NjŬçȰŬ.Ō­Đ·Ő ƦƪmC ]^
345 ) ×&ǘǙØÙĪƑŪ2¦­Đ·Ő ř0mƜƝmHttpSession ȶȷ
¾Ŏm ) ũŵmijrsƜƝŔG?-&šmN¼-ȸŬÚÙćōŎm!­2
mŔG?-&®1mN¼-½¾ƩŗȩćōŎĐ·Ő
N¼-mřİ-3Hl,@ȹ­³ƻ * ç&%m ­ş­şǞ޳Ŏć³-3
Hl,@&ŮȈȺŬĐ·Ő Ěƿ2mG?-ȕxN¼-xġĀơĀ·°Ȼåçȼ
 
   )§#+n
ĭȽ¯°ǾĆÎêİ%·Ő Ō&ȾȿçȼĭȽɀnjōŪ°1m C 345
%­ş­şG?-ê%ƥƦGE-ōŎ°Nū·°NÅĘF4 ) ÃD¼
 ɁŲ­Đ·Ő Ō&ÅĘF4mŶű­İɂɃ%¸ĀĐŪŧŐ çƙç¾ Nćȥɂæ
ą"½&ɄɅm 78ćN&Ɇoüý­½ą"½¼-x·°DZƑĀ £IA R4
¼-x­2³°½¾%·Ő ō¾m ÅĘF4ƴś&ȁǡ&H8G45¯2
ƱǂōŎ2³°&%m ÅĘF4ōŎƜƝxN¼-ê&ıɇŁū×Ōxƚƛ·°ƴś
&Ɉɉ2³Đ·Ő
ō2mHttpSession ūōŎƜƝɊɋ­2ÙĐ­Š"Ő ƋƤƠ³KH¯ĀEF45
N&MƄ;K%Ŭ°½İ­ŎĐŪŧŐ ŌŎɌɍ·°¯ĀűxȗLJ%·Ő
çƙç¾şm]^ HĹ8<FG%ľɎÀçǬǭɆoɏ­2³°½¾%·Ő ­½­mİ­
4-,&öǚɐžm 78Õ~&Ïɑ&  [Y[


C ɏ
r·°x³"4-,Ým ɒǃŭתx­Đ· ǝ¸ĀĐ·Şą Ő EF45-,
ƚƛ·°ź&Ï(·°½¾åɓ·°1&ēŗöǚ·°Ōxx 78ćHĹ8&Ĺ
@<ĹġNɔ°Ōx%&ı×ȴƪüýōŪŢĪm!&ƜƝȄȅ·°Ōx
ūč·°OPEOēŗØÙÚĦŌxm ȱćɕ³Ǜ&ƈȇ%¸ĀĐŪŧŐ ǝ )
ĒŦą'ę­Ōxć¸ĀĐ·Ő  ×GHM345m ×%·Ő ŝŞ
ąmǝɖçŌx%ǂÓ%·Ő
İx¯³ļĽć¸ĀĐ·Ő
 Oâ-GH-&ŗȵx­2 ;,Å- 
C
Z ɁŲ­2³
Đ·Ő;,Å-žɗŤƜƝɘÖ·°Ōxm!­2əådÔōŎHMOMG
%ūčōŎ°Ōxćrs%· ō¾m345xN¼-&ê%Nƛ
j(ŬƒōŪ°Ŷ¸ĀĐŪŧŐ çƙç¾m;,Å-m78ćȁǡoŒ­2³
°N&¿ǃçÅĘF4ŝ½¾%·Ő
Ʀƪm;,Å-ž%ūÖ·°;RS-,OEF45  %·Ő 
;,Å-ž%?,@,@  ġ C  İūÖ%ŬĐ·Ő C;ėŅ,@%m
-,OEF45  m -3Hl,@&ɚ­ȟx³"ǀś½¾&oĀć¸ĀĐ·
Ő khhɛm]`b` n ć-ōŎxŬmŌŎɜ'ŝ½İ­ŎĐŪŧŐ Ōŧ
Ćmİġɜ'%¸ĀĐŪŧŐ   Qn &¯"ç345m -,O
EF45  & D345&1&x2İÉŎÑLŅƄÖ2³Đ·Ő ëƿş
m  ^ +;,íŬ1ä½śD345(³m'ĜƂŁƅćÈæ­  &
ÙD345(³Đ·Ő çƙ-,O  ćľɂɃ½x³"m ·ƃ2&ǀǁ
çǘǙ&ɝǼ HttpSession İɞ­ś2ĐĀĐ·Ő Ɩ2mãO¹¨-ɟɠ·°1
m l}S-ƻ * &-,OEF45  ½¾m ]^ EF45ÈƆ·°ůȫ
m Į¾Ŏç³Ŧąɡ2ŽɁōŎ2³Đ·ŌxƋƤ­2śŝō³Ő -,O  &
ɡ¦m¸°³ŮĈĉçİ&¦·°Ōx¯Ām -,OEF45  ¦
­-3H%ç³345ȸśrsŁİŜ½¸ĀĐ·Ő ­½­mŌŎ!Ŏ¾
&¦ɢȀ­2³°ŌxƤƟ­ĐŪŧŐ x½śm ɗŤç¦Çȝ½2ɣɁ
­Đ·Ő ][
  )nn\
!Ŏ%mśąśąŹ"&Ȁ12ôĀĐ­Š"Ő
Ō&345m ÕƬçɤ°ɥ³'ȁ·°1m ȴç°-;Ö
×-,O;RSćą&¯"ƛɦ·°Ōxćrs%¸°½u­2³Đ·Ő 
345&ÑM|}m 78,©ªrs­2³Đ·Ő ©ª«¬m
EF45-;ūÖōŎĐ·Ő 78ćŌŎ¾&,&  ×øù·°xŬm m
ö®­Đ·Ő!­2m-;&;RSm ǍǎōŎ,ơƸ·°1m
 
   )§#+
EF45-;&;RSłŃƢ­Đ·Ő
ɧȸŬ& C
Y ¦·°ŌxçśFGHM&/o'ę·°1m#BZQb
¦­2³°Ōxİu­2³Đ·Ő
©ªēsmEF45-;&-,O  ¦­2'ęōŎĐ·Ő!Ŏm$V&
ÑFE}-ŭ¾Ŏ°İ&xÍƉ%·Ő
ë ))
@Stateful (1)
@Name("hotelSearch")
@Scope(ScopeType