Start
Entdecken
Suche senden
Hochladen
Einloggen
Registrieren
Anzeige
Check these out next
Java EE 8: On the Horizon
Josh Juneau
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Arshal Ameen
What's New in WebLogic 12.1.3 and Beyond
Oracle
Down-to-Earth Microservices with Java EE
Reza Rahman
JavaCro'15 - Java Certification – in theory and practice - Branko Mihaljević,...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Edward Burns
Finally, EE Security API JSR 375
Alex Kosowski
1
von
50
Top clipped slide
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
17. Jun 2015
•
0 gefällt mir
3 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
1,824 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Technologie
Java EE 8 Adopt a JSR : JSON-P 1.1 (JSR 374) & MVC 1.0 (JSR 371) Presented at Devoxx UK
David Delabassee
Folgen
DevRel - Java Platform Group - Oracle um Oracle
Anzeige
Anzeige
Anzeige
Recomendados
MVC 1.0 / JSR 371
David Delabassee
12.7K Aufrufe
•
42 Folien
Java EE 8 - An instant snapshot
David Delabassee
10.7K Aufrufe
•
91 Folien
EJB and CDI - Alignment and Strategy
David Delabassee
31.9K Aufrufe
•
43 Folien
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Heather VanCura
6.5K Aufrufe
•
13 Folien
Burns jsf-confess-2015
Edward Burns
2.3K Aufrufe
•
37 Folien
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
1.4K Aufrufe
•
47 Folien
Más contenido relacionado
Presentaciones para ti
(18)
Java EE 8: On the Horizon
Josh Juneau
•
13.3K Aufrufe
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
•
1.5K Aufrufe
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Arshal Ameen
•
10.5K Aufrufe
What's New in WebLogic 12.1.3 and Beyond
Oracle
•
20.3K Aufrufe
Down-to-Earth Microservices with Java EE
Reza Rahman
•
103.6K Aufrufe
JavaCro'15 - Java Certification – in theory and practice - Branko Mihaljević,...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
•
3K Aufrufe
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Edward Burns
•
3.4K Aufrufe
Finally, EE Security API JSR 375
Alex Kosowski
•
13.4K Aufrufe
Ed presents JSF 2.2 and WebSocket to Gameduell.
Edward Burns
•
3.9K Aufrufe
Servlet 4.0 at GeekOut 2015
Edward Burns
•
19.3K Aufrufe
JSF 2.2 Input Output JavaLand 2015
Edward Burns
•
1.9K Aufrufe
Java EE Revisits GoF Design Patterns
Murat Yener
•
15.8K Aufrufe
Testing Java EE Applications Using Arquillian
Reza Rahman
•
25.7K Aufrufe
Have You Seen Java EE Lately?
Reza Rahman
•
37.1K Aufrufe
Java API for JSON Binding - Introduction and update
Martin Grebac
•
3.1K Aufrufe
JavaCro'15 - Java Cloud - Marin Tadić
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
•
1.5K Aufrufe
Reactive Java EE - Let Me Count the Ways!
Reza Rahman
•
104.5K Aufrufe
GlassFish BOF
glassfish
•
13.7K Aufrufe
Destacado
(20)
Updates to the java api for json processing for java ee 8
Alex Soto
•
4.8K Aufrufe
HTML5 Media Elements
Javier Antonio Humarán Peñuñuri
•
2.2K Aufrufe
JSR 375 Segurança em Java EE 8
Helder da Rocha
•
4.9K Aufrufe
Using RSS feeds for content curation and social scheduling
Anna Hamilton-Gunn
•
414 Aufrufe
Participate in the Future of Java Oredev
Heather VanCura
•
490 Aufrufe
How is Java / JVM built ? Back then and now...
Mani Sarkar
•
1.8K Aufrufe
How to run a hackday
RichardWarburton
•
1.1K Aufrufe
New MVC 1.0 JavaEE 8 API
Trayan Iliev
•
929 Aufrufe
Gráficos Vetoriais na Web com SVG
Helder da Rocha
•
2.7K Aufrufe
Adopt a JSR: CDI 2.0 at Devoxx UK
Antoine Sabot-Durand
•
1K Aufrufe
Reactive android
shinnosuke kugimiya
•
5K Aufrufe
JavaOne 2016 :: Bringing Robot online with Robo4j Framework
Miro Wengner
•
248 Aufrufe
Top 10 Ways to Ally for Women in Technology
Heather VanCura
•
4.1K Aufrufe
2016 JCP Year End Summary
Heather VanCura
•
1.4K Aufrufe
Adopt-a-JSR session (JSON-B/P)
Dmitry Kornilov
•
723 Aufrufe
Java EE 8 Recipes
Josh Juneau
•
3.8K Aufrufe
Java EE 8 - February 2017 update
David Delabassee
•
6K Aufrufe
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Josh Juneau
•
8K Aufrufe
Padrão Arquitetural MVC e suas aplicações para WEB
Rafael França
•
5.2K Aufrufe
The Tragedy of Bias in Technical Hiring in Five Acts (Grace Hopper 2014)
Kelsey Anderson Foley
•
11.6K Aufrufe
Anzeige
Similar a Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
(20)
What's Coming in Java EE 8
PT.JUG
•
4.1K Aufrufe
What's coming in Java EE 8
David Delabassee
•
2.3K Aufrufe
112815 java ee8_davidd
Takashi Ito
•
516 Aufrufe
Java EE7 in action
Ankara JUG
•
942 Aufrufe
JSON-B for CZJUG
Dmitry Kornilov
•
1.3K Aufrufe
JavaOne 2014 Java EE 8 Booth Slides
Edward Burns
•
1.1K Aufrufe
Java EE 8 - What’s new on the Web front
David Delabassee
•
958 Aufrufe
JAX-RS.next
Michal Gajdos
•
1.5K Aufrufe
Java EE for the Cloud
Dmitry Kornilov
•
2K Aufrufe
Java EE 8 - An instant snapshot
David Delabassee
•
1.7K Aufrufe
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
•
13.7K Aufrufe
The State of Java under Oracle at JCertif 2011
Arun Gupta
•
1.5K Aufrufe
JavaOne2015フィードバック @ 富山合同勉強会
Takashi Ito
•
759 Aufrufe
Java EE 7 for WebLogic 12c Developers
Bruno Borges
•
4K Aufrufe
Java EE 8 Overview (Japanese)
Logico
•
981 Aufrufe
JavaOne2015報告会 in Okinawa
Takashi Ito
•
745 Aufrufe
EE4J: Java EE & Jakarta EE JFR & JMC
M. Fevzi Korkutata
•
129 Aufrufe
Java: Create The Future Keynote
Simon Ritter
•
2.1K Aufrufe
Enterprise java unit-1_chapter-1
sandeep54552
•
349 Aufrufe
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Edward Burns
•
3.1K Aufrufe
Más de David Delabassee
(20)
JVMs in Containers - Best Practices
David Delabassee
•
717 Aufrufe
JVMs in Containers
David Delabassee
•
1.3K Aufrufe
Serverless Java Challenges & Triumphs
David Delabassee
•
1.2K Aufrufe
Serverless Java - Challenges and Triumphs
David Delabassee
•
279 Aufrufe
Randstad Docker meetup - Serverless
David Delabassee
•
321 Aufrufe
Java Serverless in Action - Voxxed Banff
David Delabassee
•
230 Aufrufe
Serverless Kotlin
David Delabassee
•
250 Aufrufe
REST in an Async World
David Delabassee
•
2.3K Aufrufe
JAX-RS 2.1 Reloaded
David Delabassee
•
1.7K Aufrufe
Java EE Next
David Delabassee
•
2.2K Aufrufe
Java EE Next - BeJUG JavaOne Afterglow 2016
David Delabassee
•
432 Aufrufe
HTTP/2 comes to Java
David Delabassee
•
5.9K Aufrufe
Java EE 8 - Work in progress
David Delabassee
•
2.5K Aufrufe
HTTP/2 comes to Java (Dec. 2015 version)
David Delabassee
•
690 Aufrufe
HTTP/2 Comes to Java
David Delabassee
•
2.9K Aufrufe
HTTP/2 Comes to Java
David Delabassee
•
10.8K Aufrufe
Avatar 2.0
David Delabassee
•
1.9K Aufrufe
Pushing Java EE outside of the Enterprise - Home Automation
David Delabassee
•
3.1K Aufrufe
Project Avatar (Lyon JUG & Alpes JUG - March 2014)
David Delabassee
•
5K Aufrufe
Java EE 7 (Lyon JUG & Alpes JUG - March 2014)
David Delabassee
•
4.8K Aufrufe
Anzeige
Último
(20)
Wie man HCL Nomad eine moderne User Experience verschafft
panagenda
•
0 Aufrufe
LMS vs LXP Context.pptx
rrreddyk
•
0 Aufrufe
social_engineering.pptx
alexadejumo
•
0 Aufrufe
THE EVOLUTION OF HUMANITY'S GREATEST INVENTION, THE COMPUTER, AND ITS FUTURE.pdf
Faga1939
•
0 Aufrufe
Make Animated Stop Watch by PowerPoint School.pptx
richtom
•
0 Aufrufe
Futures for the Web - Reclaim 2023.pptx
Bryan Alexander
•
0 Aufrufe
HR Kiosk
PanashiFZCO1
•
0 Aufrufe
Troubleshooting DNS with dig
Andreas Taudte
•
0 Aufrufe
HAVOC-Workshop-Slides.pptx
seed4mexyz
•
0 Aufrufe
Chapter_1_.pptx
javairiaimran1
•
0 Aufrufe
No Such Thing as Best Practice in Design, Nati Asher and Pat Fragoso
CzechDreamin
•
0 Aufrufe
BILL PAYMENT KIOSK
PanashiFZCO1
•
0 Aufrufe
NGFW - An Updated Overview
Security Gen
•
0 Aufrufe
Advanced Lean Training Manual Toolkit.ppt
ThinL389917
•
0 Aufrufe
e-commerce.pptx
ssuser9a364e
•
0 Aufrufe
Divide_and_Contrast__Source_free_Domain_Adaptation_via_Adaptive_Contrastive_L...
Huang Po Chun
•
0 Aufrufe
Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...
CzechDreamin
•
0 Aufrufe
5 key ideas for robust and flexible REST API integrations with Apex, Lucian M...
CzechDreamin
•
0 Aufrufe
20230608-日本SPT研討會_人工智慧與矯正.pdf
Yu-cheng Liu
•
0 Aufrufe
Network Analyst with Hex64.docx
HEX64
•
0 Aufrufe
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
@delabassee#JavaEE8 Adopt A JSR
- Java EE 8 David Delabassee @delabassee Oracle
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Agenda • Java EE 8 • Adopt JSON-‐P 1.1 (JSR 374) • Adopt MVC 1.0 (JSR 371) 2
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Java EE 8 Themes • HTML5 / Web Tier Enhancements • Ease of Development • Infrastructure for running in the Cloud 3
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Java EE 8 Themes • HTML5 / Web Tier Enhancements • Ease of Development • Infrastructure for running in the Cloud 4
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 HTML5 Support / Web Tier Enhancements • JSON Binding • JSON Processing enhancements • Server-‐sent Events • Action-‐based MVC • HTTP/2 support 5
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 HTML5 Support / Web Tier Enhancements • JSON Binding • JSON Processing enhancements • Server-‐sent Events • Action-‐based MVC • HTTP/2 support 6
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Java EE 8 Themes • HTML5 / Web Tier Enhancements • Ease of Development • Infrastructure for running in the Cloud 7
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Ease of Development • CDI alignment • JAX-‐RS injection alignment • Simplified messaging through CDI-‐based “MDBs” • WebSocket scopes • Pruning of EJB 2.x client view and IIOP interoperability • Security interceptors • … 8
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Java EE 8 Themes • HTML5 / Web Tier Enhancements • Ease of Development • Infrastructure for running in the Cloud 9
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Modernize the Infrastructure • Java EE Management 2.0 – REST-‐based APIs for Management and Deployment • Java EE Security 1.0 – Authorization – Password Aliasing – User Management – Role Mapping – Authentication – REST Authentication For On-‐Premise and for in the Cloud 10
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Java EE 8 JSRs • MVC 1.0 (JSR 371) * • CDI 2.0 (JSR 365) • JSON-‐P 1.1 (JSR 374) • JSF 2.3 (JSR 372) • Java EE Security 1.0 (JSR 375) • JSON Binding 1.0 (JSR 367) • JMS 2.1 (JSR 368) • Java Servlet 4.0 (JSR 369) • JAX-‐RS 2.1 (JSR 370) • Java EE Management 2.0 (JSR 373) • Java EE 8 Platform (JSR 366) So far….. 11
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 And More to Follow… • JCache • Bean Validation • JPA • Connector Architecture • WebSocket • Interceptors • EJB • JTA • Batch • Concurrency Utilities • JavaMail • … 12
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Roadmap • Tentative Delivery Schedule – Q3 2014: Expert Group formed – Q3 2015: Early Draft – Q4 2015: Public Review – Q2 2016: Proposed Final Draft – H1 2017: Final Release • Contribute! 13
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 How to Get Involved • Join an Expert Group – http://javaee-‐spec.java.net • Adopt a JSR – http://glassfish.org/adoptajsr • The Aquarium – http://blogs.oracle.com/theaquarium • Java EE Reference Implementation – http://glassfish.org 14
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 • Keep JSON-‐P spec up-‐to-‐date • Track new standards • Add editing operations to JsonObject and JsonArray • Java SE 8 • JSON Big Data 15 JSR 374
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 • String syntax for referencing a JSON value "/0/phone/mobile" JSON-‐Pointer – IETF RFC 6901 16
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 JsonArray contacts = … JsonPointer pointer = new JsonPointer("/0/name"); JsonValue value = pointer.getValue(contacts); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-‐123-‐4567", "mobile":"650-‐234-‐5678"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-‐555-‐9999"}} ] 17
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 • String syntax for referencing a JSON value “/0/name" • Methods – getValue() – JSON operations: add(), replace(), remove() JSON-‐Pointer – IETF RFC 6901 18 JsonPointer pointer = new JsonPointer("/0/name"); JsonArray result = pointer.replace(contacts, Json.createValue("Alex"));
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 • Patch is a JSON document – Array of objects / operations for modifying a JSON document – add, replace, remove, move, copy, test JSON-‐Patch – IETF RFC 6902 19
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 [ { "op":"replace", "path":"/0/phones/mobile", "value":"650-‐111-‐2222"}, { "op":"remove", "path":"/1"} ] [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-‐123-‐4567", "mobile":"650-‐234-‐5678"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-‐555-‐9999"}} ] 20
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 [ { "op":"replace", "path":"/0/phones/mobile", "value":"650-‐111-‐2222"}, { "op":"remove", "path":"/1"} ] [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-‐123-‐4567", "mobile":"650-‐111-‐2222"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-‐555-‐9999"}} ] 21
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 [ { "op":"replace", "path":"/0/phones/mobile", "value":"650-‐111-‐2222"}, { "op":"remove", "path":"/1"} ] [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-‐123-‐4567", "mobile":"650-‐111-‐2222"}} ] 22
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JsonArray target = …; JsonArray patch = …; JsonPatch jsonpatch = new JsonPatch(patch); JsonArray result = jsonpatch.apply(target); JSON-‐P 1.1 23 JsonPatchBuilder builder = new JsonPatchBuilder(); JsonArray result = builder.add("/Joe/phones/office", "1234-‐567") .remove("/Amy/age") .apply(contacts);
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 { "title": "Hello!", "phoneNumber": "+01-‐123-‐456-‐7890", "author": { "familyName": null }, "tags": [ "example" ] } 24 { "title": "Goodbye!", "author": { "givenName": "John", "familyName": "Doe" }, "tags": [ "example", "sample" ], "content": "This will be unchanged" } { "title": "Hello!", "author": { "givenName": "John" }, "tags": [ "example" ], "content": "This will be unchanged", "phoneNumber": "+01-‐123-‐456-‐7890" } JSON-‐Merge Patch – IETF RFC 7386
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 • Reverse operation – Given two objects returns the patch to apply (diff) JSON-‐Patch & JSON-‐Merge Patch Diff 25 JsonValue output = JsonMergePatch.diff(original, target); JsonArray diff = JsonPatch.diff(original, target);
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 JSON Query collecting results in JsonArray JsonArray cars = ...; JsonArray audis = cars.getValuesAs(JsonObject.class).stream() .filter(x-‐>"Audi".equals(x.getString("brand"))) .map(x-‐>(x.getString("serial")) .collect(JsonCollectors.toJsonArray()); 26
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 Getting Started 27 • JSR 374 - https://json-‐processing-‐spec.java.net • JIRA - https://java.net/jira/browse/JSON_PROCESSING_SPEC • Repos - git://java.net/json-‐processing-‐spec~git - git://java.net/jsonp~git
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSON-‐P 1.1 Getting Started 28 • Build the standalone RI - git://java.net/jsonp~git • Check JSR374 tests and the Javadocs - https://json-‐processing-‐spec.java.net/nonav/snapshots/1.1/javadocs/ • Follow the EG users list - JSON Big Data
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model-‐View-‐Controller (MVC 1.0) Specification • “Action-‐based” MVC 1.0 JSR • Why? – UI landscape is not one size fits all – Java EE 8 Community Survey – Talking to our customers, etc. • EG – Oracle, RedHat, innoQ, IBM, Caelum, LifeRay, and 6 individuals members JSR 371 29
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 MVC 1.0 • Model – CDI, Bean Validation, JPA • View – Facelets, JSP, SPI? • Controller – Invent new technology Vs. Leverage existing technologies? 30 Glues together key Java EE technologies
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Controller • Combine data models and views to produce web application pages @Path("hello") public class HelloController { @GET @Controller public String hello() { return "hello.xhtml"; } } 31
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Controller • Class/method decorated with @Controller @Path(“hello") @Controller public class HelloController { @GET @View(“hello.ftl") public void hello() { } } 32
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Controller @Path(“hello") @Controller public class HelloController { @GET public Viewable hello() { return new Viewable("hello.jsp"); } } 33
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Controller … @GET @Controller public Response getById(@PathParam("id") String id) { if (id.length() == 0) { return Response.status(Response.Status.BAD_REQUEST) .entity(“error.xhtml") .build(); } } 34
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model • “Refers to the data” • javax.mvc.Models interface • CDI @Named bean (recommended) 35
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model @Named(“greeting”) @RequestScoped public class Greeting { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } 36
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model @Path(“hello”) public class HelloController { @Inject private Models models; @GET @Controller public String hello() { models.put(“greeting”, new Greeting(“Hi JPrime”)); return “hello.ftl”; } } 37
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. View • Define the structure of the output • Can refer to model(s) • Rendered by a View Engine – JSP – Facelets • Not accessible as static resources – /WEB-‐INF/views/ 38
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. View 39 <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC …> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html"> <h:head> <title>Facelet!</title> </h:head> <h:body> <p>${greeting.message} to all</p> </h:body> </html>
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. View <%@ page contentType=“text/html;charset=UTF-8” language=“java” %> <html> <head> <title>Hello</title> </head> <body> <p>${greeting.message}</p> </body> </html> 40
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. View Engine • CDI based extension mechanism • javax.mvc.engine.ViewEngine interface boolean supports(String view); void processView(ViewEngineContext context) throws ViewEngineException; • Ozark – JSP & Facelets – FreeMarker, Velocity, Thymeleaf, Mustache & Handlebars 41
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 JSR 371 • View Engine – JSP & Facelets – FreeMarker, Velocity, Thymeleaf, Mustache, Handlebars & Pebble • Validation • Exception Mapping Providers • Bootstrap via javax.ws.rs.core.Application • @Produces • CDI Events 42 Early Draft Review
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. MVC 1.0 • JSR 371 - http://mvc-‐spec.java.net/ - https://jcp.org/en/jsr/detail?id=371 - https://java.net/jira/browse/MVC_SPEC - https://java.net/projects/mvc-‐spec/lists/users/archive • Ozark - https://ozark.java.net - git://java.net/ozark~sources + https://github.com/spericas/ozark Getting Started 43
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. MVC 1.0 • Docker script - https://ozark.java.net/download.html • Samples - http://<container-‐ip>:8080/samples • GF console (admin/ozark) - http://<container-‐ip>:4848 Getting Started 44
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. MVC 1.0 • GlassFish 4.1 nightly - http://dlc-‐cdn.sun.com/glassfish/4.1/nightly/glassfish-‐4.1-‐ b14-‐06_12_2015.zip • Bundle Ozark with your App • Maven Central <groupId>javax.mvc</groupId> <artifactId>javax.mvc-‐api</artifactId> <version>1.0-‐edr1</version> Getting Started 45
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. MVC 1.0 • Full blown samples • Additional templating engine • Logging, monitoring, i.e. improving event mechanism in place • Internationalization/localization • … Getting Started 46
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. @delabassee#JavaEE8 Devoxx UK • JCP, Adopt-‐a-‐JSR & You -‐ Thursday at 12:50 (Room BC) • Java EE 8, a snapshot overview -‐ Thursday at 11:50 (Auditorium) • Java EE Game Changers -‐ Friday at 10:00 (Room A) • HTTP/2 comes to Java -‐ Friday at 11:10 12:00 (Auditorium) • CDI 2.0: what is in the work? -‐ Friday at 15:00 (Auditorium) • Finally, Security API JSR 375 -‐ Friday at 16:20 (Room DEF) 47
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Thanks! 48
Safe Harbor Statement The
precding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved.
Anzeige