lightbulb432 wrote:
I have another question about MyFaces source code. When looking at the source
code included with MyFaces, I noticed that FacesServlet is specific to
MyFaces, as seen in the line:
SERVLET_INFO="FacesServlet of the MyFaces API implementation
I thought that Sun provided the standard set of APIs and the implementations
just extend/implement everything in the API package. For example, every
implementer of JSF uses the same FacesServlet class provided by the spec and
in their implementation they create a "MyFacesServlet" specific to them. I
didn't realize the way things worked was that they just replace the main
classes!? That seems pretty weird...
Is this a standard kinda way of implementing specs or is this a different
approach. Pardon my ignorance, as I'm inexperienced with all this...
This is the way that JSF is intended to be implemented at least. Sun
provide a spec which includes a batch of javadocs, but the
implementation of those classes in javax.faces is different for each
"vendor".
Yes, it is a little different from the "SPI" style of interfaces.
Is there a Java EE 5 version of the JSF classes that get implemented or
replaced by the RI and MyFaces? Or are RI, MyFaces, and any other
implementations the only JSF source code that exist (i.e. there is no
"official" JSF source code)?
There is no "official" implementation. Sun's implementation has no claim
to be any more "official" than the Apache Myfaces version (or other
implementations, though I don't know of any).
JBoss comes with the MyFaces version, Glassfish comes with the Sun
version. I bet that Geronimo (and therefore Websphere Community Edition)
comes with MyFaces.
I haven't checked what version BEA Weblogic provides, or Oracle.
I am looking for Java EE 5 source code in general (incl. JSF) and can't find
it anywhere! Where'd you get it from?
For the "Glassfish" implementation of the jee 5 spec, search the sun site.
For the JBoss implementation of the jee 5 spec, search the JBoss site.
Apache Geronimo is still working on implementing this version
(http://geronimo.apache.org/), but you'll find the source they have so
far on that site.
BEA Weblogic source code isn't available.
Regards,
Simon