Take for example the Servlet Specification (version does not matter). It comes with a large PDF file describing the spec. Its API (the interfaces and classes) fall under the javax.servlet.*
package structure, and we as programmers use these. For example when writing Servlets we frequently extends javax.servlet.http.HttpServlet
.
My questions: the API classes and interfaces (javax.servlet.*
) , are these "vendor specific" (implemented by each vendor of a servlet container) OR are these part of the specification itself (and thus just used by each servlet container vendor)?
Or, does the specification practically always come with a Reference Implementation (RI), wich is created by the spec members and free to use (and at some places -like method implementations in abstract classes- free to modify)?