►
Description
Host Ivar Grimstad walks though the new Jakarta MVC 2.0 specification
Get Social!
Website: jakarta.ee
Subscribe: https://www.youtube.com/user/EclipseFdn
Follow us on Twitter: https://twitter.com/JakartaEE
Like us on Facebook: https://www.facebook.com/JakartaEE/
Join us on LinkedIn: https://www.linkedin.com/groups/13597
Tag us: #JakartaEE
A
Well,
you
probably
know
the
mvc
pattern
and
and
the
embassy
it's
model
view
and
controller,
and
the
way
it
usually
works
is
that
you
get
a
request
into
the
controller
and
then
the
controller
maybe
does
some
updates
to
the
model
and
then
selects
a
view
to
render-
and
this
view
can
access
the
model
and
and
display
the
data,
and
there
are
different
kinds
of
mvc
in
implementations
or
way
of
interpreting
this
pattern,
and
one
of
them
is
the
controller
based
mvc
and
and
you're,
probably
familiar
with
the
jsf
and
in
in
the
controller
base.
A
Then
we
see
you
have.
The
controller
is
supplied
to
you
by
the
framework.
So
so
you
have
the
the
face.
The
servlet
does
the
controller
functionality
of
jsf
and
you
just
focus
on
the
model
and
the
view,
whereas
in
a
action
based
embassy
like
jakarta
mvc,
the
the
controller
is
is
all
up
to
you
as
a
developer
to
implement.
So
you
have
full
full
control
over
the
view
model
and
the
controller
and
I'll
show
you
this
in
in
code.
A
In
a
couple
of
minutes
or
in
less
than
a
couple
of
minutes-
and
you
can
see
here,
the
jakarta
mvc
2.0
supports
the
jakarta
nvc
namespace
and
we
changed
from
the
java
x
to
the
jakarta
namespace.
Now
this
version
isn't
live
yet
because
the
ballot
is
ongoing
and
currently
we
have
six
out
of
ten
yes
votes.
A
So
we
need
one
more
vote
to
be
approved
as
a
specification
and
then
we
go
live
and
and
the
it's
a
two-week
ballot
that
will
end
on
december
17th
and
directly
after
that
we
will
release
it
and
it
will
be
available
in
maven
central
and
I
I've
put
on
my
my
mvc
t-shirt
here.
So
you
can
see
the
the
embassy
illustration
of
the
with
the
barista
duke.
A
Yes,
one
teaching
the
t-shirt
for
each
rich
yeah
occasion,
so
yeah
I'll
I'll
actually
go
and
I
mean
slides
are
cool,
but
code
is
better.
So
let's
go
and
see
this
mvc
in
practice,
so
yeah
I'll
I'll.
A
I
have
here
a
a
simple
application
and
I'm
using
the
jikari
e9
that
is
available
and
I'm
using
jakarta,
mvc
2.0,
because
this
isn't
available
in
maven
central.
Yet
the
mvc
part,
I'm
I'm
using
a
staging
profile.
A
So
I'm
pulling
it
from
the
staging
repository
where
mvc
is
currently
the
so
but
after
december
17
it
will
be
available
in
maven
central
and
it
can
go
as
as
he
would
do
and
and
since
it's
not
a
part
of
an
implementation
or
the
platform
specification,
we
need
to
provide
some
implementation
artifacts
as
well
and
crosso
is
the
the
compatible
implementation
that
we've
used
to
certify
the
the
specification
and
crossover
runs
on
on
different
implementations
underneath
and
this
particular
application
I'll
run
on
glassfish
and
since
glassfish
has
the
jersey
as
an
implementation
of
digicar
arrest
and
nvc
builds
on
top
of
jakarta
rest
as
I'll
join
code.
A
And
this
class
I'll
extend
the
and
here
you
can
see
how
it
builds
on
on
top
of
jakarta
rest
because
I'm
going
to
extend
the
application
from
from
jakarta
rest-
and
you
can
see
it's
all
on
the
jakarta
namespace,
I'm
call
the
application
path.
I'll
just
say
the
ui.
For
this
one
position
can
be
application
scopes.
It
doesn't
have
to
be,
but
I'll
do
that
so
so
it
is
an
and
and
application
for
jakarta
rest
and
let's
create
an
endpoint
or
a
controller.
A
So
I'll
create
this
one
called
hello,
and
this
is
on
path.
A
Oh
sorry,
hello,
let's
get
it
right
there
like
this
and
in
order
to
make
this
an
mvc
controller.
All
so
far.
It's
just
about
jakarta
rest.
So
to
make
it
a
a
msc
controller.
I
use
the
app
controller
annotation.
That's
all
I
have
to
do
and
then
I'll
implement
continue
using
the
chicago
rest.
A
So
it's
it's
a
get
request.
I
I
can
actually
use
a
void
method
in
a
message.
It's
not
possible
in
jakarras
to
use
void
for
a
resource
method.
You
have
to
return
something,
but
in
msu
you
actually
can
use
void.
So
I'll
I'll
show
you
why
so
I'll
just
have
an
empty
method
there.
I
won't
return
anything,
but
what
I'll
do
is
annotate
it
with
a
view.
A
A
There
you
go
and
this
one
I'll
call
it
jack
recorder
and
we
see
hello
and
in
the
body
I'll
write
something
hello,
dick
and
then
this
is
actually
it.
So
you
can
see
it.
It
is
a
a
jexuras
application
and-
and
it
says
it
has
the
ui-
that's
where
the
application
is.
It
has
a
hello
endpoint,
which
is
a
controller
within
hello
view.
A
I
also
have
an
index
file
here
that
just
redirects
to
the
ui
hello.
So
let's
deploy
this
one
and
see
how
it
works.
I'm
running
on
glassfish,
6
rc2.
A
The
final
release
of
last
week
will
be
out
pretty
soon
now,
but
it's
still
on
on
the
rc,
but
there
it
is
so
let's
go
and
look
at
it.
I
have
glass
switch
running
here
and
let's
go
to
the
msc
duke
application,
and
we
have
the
the
link
where
I
can
go
and
it
should
say
hello
duke
and
it
does
this.
Is
this
isn't
super
exciting?
Yet
what
we
want
to
do
is
to
have
a
model
as
well,
because
now
we
have
the
the
view
and
we
have
the
controller.
A
A
I'll
call
it
a
model
and
I'll
just
inject
it
here
or
I
don't
even
need
to
inject
it.
I
can
just
have
it
there
as
it
is,
and
and
or
let
me
inject
it,
let's
go
so
so
we're
using
cdi
on
the
bottom,
injecting
the
model
which
is
called
models,
because
there
were
a
naming
conflict
with
the
another
api.
So
we
didn't
want
to
have
any
conflicts
so
rather
than
typing
hello
and
and
hard-coding
the
name
here.
Let's
use
a.
A
Just
write
the
the
expression
language
here,
for
name
and
in
the
model
I
can
do
and
then
in
the
hello
class,
take
take
my
model
and
put
it
it's
basically
a
hash
map,
I'll
call
it
name
and
I'll
call
it
dick.
A
A
A
And
the
application
should
be
able
to
type
hello
duke
and
it
does
and-
and
if
I
want
to
do
it
more,
I
can
actually
introduce
a
a
I
can.
I
can
use
cdi.
I
don't
have
to
use
this
models,
object
directly.
A
B
Oh
I'm,
I
was
just
describing
distracted
by
the
the
chat
that
we
have
with
the
community.
It's
it's
super
exciting,
to
see
everyone
being
involved,
asking
questions,
but
yes
eva.
I
have
a
question
for.
Are
you
actually?
How
often
do
you
do?
People
want
to
use
nbc?
I
already
see
some
excitement
here
in
the
community
that
the
mvc
is
is
is
is
ready
to
go.
Do
you
have
any
recommendation
on
when
they
can
go
ahead
and
start
using
it?
B
A
Sure
it's
I
mean
you,
can
you
can
start
using
it
today
it's
been
a
while
it's
been
around
for
a
while.
We
went
final
with
version
1.0
early
this
year
under
the
the
jcp,
so
that's
available
under
the
the
old
java
x
maven
coordinates.
A
Then
we
released
in
september
a
or
october
actually
a
version,
one
of
one
which
is
through
the
jicari
namespace
in
jakarta
specification
process
with
the
jakarta
maven
coordinates
and
this
version
version
two,
though,
is
available
in
end
of
december
and
that's
totally
on
the
jakarta
mvc
namespace.
So
so,
if
you're
on
a
java,
e8
or
jakarta
e8
runtime,
you
need
to
use
version
10
or
101,
but
if
you're
on
a
jakarta,
e9
runtime,
you
want
to
use
the
version
2.
and
it's
available,
you
can
use
it.
It's
it's
out.
There.
B
And
and
here
hansi
ba
is
pointing
out
to
the
example
that
he
has
built
based
on
the
mvc.
So
it's
it's
fantastic
to
see.
A
There
have
been
lots
of
jugs
supporting
embassy,
and
we
have,
we
have
tooling
supports.
We
have
I'll
I'll,
actually
show
a
a
a
pointer
to
some
tooling
here
it
is
a
product
called
jedict
and
and
it's
it's
a
netbeans
application,
and
this
one
supports
a
generator
for
all
of
the
jaccardi
stacks,
so
you
can
from
the
database.
You
can
generate
everything
and-
and
it
supports
mvc
and
was
one
of
the
first
tools
out
there
to
to
support
embassy.
A
So
so,
if
you're
want
to
try
it
out,
you
can
try
the
the
samples
that
that
that
hansi
there
showed.
I
have
some
samples
on
my
github
christian.
The
other
speculator
has
a
lot
of
samples,
and
this
genetic
tool
is
pretty
awesome
to
to
try
out
the
these
jakarta
stack.
B
Yeah-
and
there
is
more
samples
provided
here
using
mvc2
already
and
yeah-
there
was,
I
think,
from
over
a
question
about
different
development
development
tools
that
are
supporting
jakarta,
ee
and
jakarta
e9.
So
maybe
maybe
you
can
chat
on
that.
I
will
go
off
and
prepare
for
the
next
session,
so
either
I'll
I'll
I'll
see
you
in
the
next
session,
while
you're
finishing
this
one.
A
Yeah
and
and
what
tanya
is
going
to
show,
you
is
she's
going
to
prepare
the
speaker
for
the
next
session,
and
that
is
the
scaling.
Jakari
applications
vertically
and
horizontally
with
julastic
pass
so
stick
around
and
you
will
be
taken
into
that
session.
A
So
I
hope
you
enjoyed
this
mvc
demo
in
in
the
next
studio
session,
I'll
go
ahead
and
and
do
a
a
complete.
A
Complete
transfer
from
a
a
jakarta
e8
application
over
to
a
jakarta,
e9
applications
and
it
will
go.
It
will
be
a
lot
of
code
a
lot
of
fast.
I
won't
have
any
slides
or
any
time
for
that
I'll.
Just
do
the
the
namespace
things
and
and
show
what
you
have
to
think
about
when
you
do
the
the
switch
from
from
a
java
x
based
namespace,
based
application
over
to
a
jakarta
namespace
application.
A
So
can
the
view
be
just
a
fragment
of
a
page
rather
than
not
in
the
native,
the
not
in
the
native?
We
don't.
We
don't
not
support
it,
but
in
the
yeah
it
depends
on
how
you
you
implement
your
application.
I
know
that
mvc
is
actually
supported
by
portlets.
So
so,
if
you're
using
the
portal
spec
you
can,
you
can
render
the
view
as
a
fragment
of
a
page
or
a
portlet.
So
so
it
is
possible.
A
Yes,
it
is
not
specified
by
the
specification,
but
you
can
do
it
and
if
you
want
to
have
the
download
location
of
the
new
version
on
glassfish
is
glassfish.org
download,
so
get
glassfish
at
glassfish.org,
slash
download
and
there
will
be
more.
It
talks
about
glass
fish
later.
A
A
Well-
and
I
hope
you
really
enjoy
this
conference
and
also
enjoy
these
more
informal
studio
sessions
in
between
where
we
will
do
different
kind
of
things.
In
this
case
it
was
mvc
and
in
others
there
would
be
other
things.
Some
surprises
some
interviews,
some
some
lighter
topics
and
some
more
technical
things,
but
I
hope
you
enjoy
it
and
we
will
soon
be
ready
for
ruslan's
presentation
and
make
sure
to
go
to
that
one
there
and
doing
some
cool
stuff
over
there.
A
A
A
A
Okay-
and
there
is
a
question
whether
it
has
to
be
a
jsp
or
if
it
can
be
something
else.
Yes,
it
can
be.
I
think
we
have
for
crossover.
We
have
12
different
view
engines,
you
can
use
timely
for
ascii
dock
or
I'm
not
sure
if
you
can
use
straight
up
html.
I
think
you
have
to
have
some
kind
of
templating
language
to
generate
the
whole
html
for
you,
but
you
can.
You
can
use
almost
anything
and
it's
pretty
easy
to
add
extensions
for
other
view,
engines
as
well.