Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mvc 1.0 - by Example @JEEConf 2015
Search
ivargrimstad
May 22, 2015
Programming
1
2.1k
Mvc 1.0 - by Example @JEEConf 2015
Overview, introduction and code samples. Includes links and how to get started.
ivargrimstad
May 22, 2015
Tweet
Share
More Decks by ivargrimstad
See All by ivargrimstad
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
550
Duke on CRaC with Jakarta EE
ivargrimstad
0
900
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
770
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
1.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
820
Other Decks in Programming
See All in Programming
クラウドに依存しないS3を使った開発術
simesaba80
0
200
ゲームの物理 剛体編
fadis
0
390
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
230
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
300
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
170
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
330
チームをチームにするEM
hitode909
0
430
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
AIエージェントの設計で注意するべきポイント6選
har1101
6
2.8k
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
4.7k
gunshi
kazupon
1
130
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1k
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
770
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
80
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
37
Paper Plane (Part 1)
katiecoart
PRO
0
2.5k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Designing Experiences People Love
moore
143
24k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
170
Transcript
@ivar_grimstad JEEConf 2015 MVC 1.0 - by Example Ivar Grimstad
@ivar_grimstad JEEConf 2015 Background JSR 371 - MVC for Java
EE 8 Demo Summary
@ivar_grimstad JEEConf 2015 @ivar_grimstad https://github.com/ivargrimstad https://www.linkedin.com/in/ivargrimstad http://lanyrd.com/profile/ivargrimstad/
@ivar_grimstad JEEConf 2015 Background
@ivar_grimstad JEEConf 2015 What?
@ivar_grimstad JEEConf 2015 Controller Model View Request Update Update Get
MVC Pattern
@ivar_grimstad JEEConf 2015 Component-based MVC
@ivar_grimstad JEEConf 2015 Controller Model View Request Update Update Get
Component-based MVC
@ivar_grimstad JEEConf 2015 Action-based MVC
@ivar_grimstad JEEConf 2015 Controller Model View Request Update Update Get
Action-based MVC
@ivar_grimstad JEEConf 2015 Why?
@ivar_grimstad JEEConf 2015 https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf
@ivar_grimstad JEEConf 2015 http://glassfish.org/survey
@ivar_grimstad JEEConf 2015 How?
@ivar_grimstad JEEConf 2015 JSR 371 MVC for Java EE 8
@ivar_grimstad JEEConf 2015 Action-based MVC
@ivar_grimstad JEEConf 2015 Existing Java EE Technologies
@ivar_grimstad JEEConf 2015 JSR 371 Expert Group
@ivar_grimstad JEEConf 2015 Key Decisions
@ivar_grimstad JEEConf 2015 Key Decisions
@ivar_grimstad JEEConf 2015 Build MVC 1.0 on top of JAX-RS
@ivar_grimstad JEEConf 2015 Show me the CODE !
@ivar_grimstad JEEConf 2015 Controllers
@ivar_grimstad JEEConf 2015 public class HelloController { }
@ivar_grimstad JEEConf 2015 @Path(“hello”) public class HelloController { }
@ivar_grimstad JEEConf 2015 @Controller @Path(“hello”) public class HelloController {
}
@ivar_grimstad JEEConf 2015 @Controller @Path( public } Views
@ivar_grimstad JEEConf 2015 @Controller @Path(“hello”) public class HelloController {
}
@ivar_grimstad JEEConf 2015 @Controller @Path(“hello”) public class HelloController { @GET
public String hello() { return “hello.jsp”; } }
@ivar_grimstad JEEConf 2015 @Controller @Path(“hello”) public class HelloController { @GET
public Viewable hello() { return new Viewable(“hello.jsp”); } }
@ivar_grimstad JEEConf 2015 @Controller @Path(“hello”) public class HelloController { @GET
public Response hello() { return Response.status(OK) .entity(“hello.jsp”) .build(); } }
@ivar_grimstad JEEConf 2015 @Controller @Path(“hello”) public class HelloController { @View(“hello.jsp”)
@GET public void hello() { } }
@ivar_grimstad JEEConf 2015 @View(“hello.jsp”) @Controller @Path(“hello”) public class HelloController {
@GET public void hello() { } }
@ivar_grimstad JEEConf 2015 Models using CDI
@ivar_grimstad JEEConf 2015 @View(“hello.jsp”) @Controller @Path(“hello”) public class HelloController {
@GET public void hello() { } }
@ivar_grimstad JEEConf 2015 @Named(“greeting”) @RequestScoped public class Greeting { private
String message; public void setMessage(String message) { this.message = message; } public String getMessage() { return message; } }
@ivar_grimstad JEEConf 2015 @View(“hello.jsp”) @Controller @Path(“hello”) public class HelloController {
@Inject private Greeting greeting; @GET public void hello() { greeting.setMessage(“Hello Kiev”); } }
@ivar_grimstad JEEConf 2015 <%@page contentType=“text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head>
<title>MVC 1.0 Hello Demo</title> </head> <body> <h1>Hello ${greeting.message}</h1> </body> </html>
@ivar_grimstad JEEConf 2015 @View(“hello.jsp”) @Controller @Path(“hello”) public class HelloController {
@GET public void hello() { } }
@ivar_grimstad JEEConf 2015 @View(“hello.jsp”) @Controller @Path(“hello”) public class HelloController {
@Inject private Models model; @GET public void hello() { model.put(“message”,“Hello Kiev”); } }
@ivar_grimstad JEEConf 2015 <%@page contentType=“text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head>
<title>MVC 1.0 Hello Demo</title> </head> <body> <h1>Hello ${message}</h1> </body> </html>
@ivar_grimstad JEEConf 2015 Demo
@ivar_grimstad JEEConf 2015 Create MVC Project Advanced Example Comparison with
Spring MVC
@ivar_grimstad JEEConf 2015 Road Map
@ivar_grimstad JEEConf 2015 Q3 2014 Expert Group formed Q1 2015
Early Draft Q3 2015 Public Review Q1 2016 Proposed Final Draft Q3 2016 Final Release
@ivar_grimstad JEEConf 2015 Reference Implementation https://ozark.java.net
@ivar_grimstad JEEConf 2015 Summary
@ivar_grimstad JEEConf 2015 Existing Java EE Technologies CDI, JAX-RS, Bean
Validation New Annotations @Controller @View Community Support Summary
@ivar_grimstad JEEConf 2015 Getting Started Specification https://mvc-spec.java.net Reference Implementation https://ozark.java.net
@ivar_grimstad JEEConf 2015 Demo Source https://github.com/ivargrimstad/mvc-samples https://github.com/ivargrimstad/javaee-mvc-spring
@ivar_grimstad JEEConf 2015 www.cybercom.com