JSR 315: Servlets 3.0
Geschrieben von: Markus Junginger in Java, tags: JEE, JSR, JSR 315, Servlets 3.0Der Servlet API stehen größere Updates bevor, wenn man sich den neusten Java Specification Request ansieht. JSR 315 zielt unter anderem darauf ab, bessere Integrations- und Erweiterungsmöglichkeiten für Web Frameworks wie JSF bereitzustellen. Als zukünftiger Bestandteil von Java EE 6 steht auch die Vereinfachung für Entwicklern im Vordergrund (Annotations, etc.). Persönlich fast noch interessanter finde ich die vorgesehen Erweiterungen für Async (Non-blocking) und Ajax Comet Requests. Damit sollten sich recht performante Serveranwendungen und Frameworks bauen lassen, die höhere Anforderungen an die HTTP Requests/Responses haben. Auch nett könnte beispielsweise der verbesserter Upload Support mit Fortschritts-Listener werden. Aber bis es soweit ist wird es noch etwas dauern…
Was Servlets in Tomcat 6, Bea Weblogic 9.2 und Jetty 6 schon jetzt zu bieten haben, sieht man z.B. in diesem Beitrag aus Greg’s Blog. Greg hat auch weitere Infos über Servlets 3.0 aus einer Java On Session.
Update: Greg hat gerade noch einen schönen Artikel mit weiteren Hintergrundinformationen veröffentlicht (siehe Kommentar).
Hier noch die Vorschlagsliste 1:1 vom Original JSR 315:
- Web framework pluggability.
- Almost all of the Java based web frameworks build on top of
servlets. Most web frameworks today plugin either through servlets or
through web.xml. Annotations to define some of the servlets, listeners,
filters will help in making this possible. Programatic access to web.xml
and dynamic changes to configuration of a webapp are desired features.
This JSR will aim to provide the ability to seamlessly plugin different
web frameworks into web appplications.
- Almost all of the Java based web frameworks build on top of
- EOD
- Annotations – use of annotations for the declarative style of
programming. -
As part of the EoD effort the goal is to have zero configuration for web
applications. The deployment
descriptors would be used to override configuration. - Generics – Use generics in the API where possible.
- Use of other language enhancements where possible to improve
the usability of the API.
- Annotations – use of annotations for the declarative style of
- Async and Comet support
- Non-blocking input – The ability to receive data from a client
without blocking if the data is slow arriving. - Non-blocking output – The ability to send data to a client without
blocking if the client or network is slow. - Delay request handling – The comet style of Ajax web application can
require that a request handling is delayed until either a timeout or an
event has occurred. Delaying request handling is also useful if a
remote/slow resource must be obtained before servicing the request or if
access to a specific resource needs to be throttled to prevent too many
simultaneous accesses. - Delay response close – The comet style of Ajax web application can
require that a response is held open to allow additional data to be sent
when asynchronous events occur. - Blocking – Non-blocking notification – The ability to notify push
blocking or non-blocking events. Channels concept – The ability to
subscribe to a channel and get asyncronous events from that channel. This
implies being able to create, subscribe, unsubscribe and also apply some
security restriction on who can join and who cannot.
- Non-blocking input – The ability to receive data from a client
- Security
- Ability to login / logout.
- Self registration.
- Alignment
- Alignment / requirements from REST JSR (JSR 311).
- Alignment / requirements from JSF 2.0 JSR.
- Misc
- Better welcome file support.
- ServletContextListener ordering.
- Container wide definition for init params.
- File upload – progress listener – where to store interim and final file.
- Clarifications of thread-safety issues.


Einträge (RSS)
danke für die Verbindung
I have updated my blog with some more thoughts about the async servlet considerations of JSR-315.
tschüss