The phrase J2EE is bandied about a lot these days. It’s worth understanding just what J2EE is, and how JSP (and Struts) fits into it.
J2EE (The Java 2 Enterprise Edition) can be thought of very narrowly or as a code word for a much larger body of technologies. As strictly defined by Sun, J2EE encompasses a bundle of Java technologies:
JavaServer Pages (JSP)
Java Servlets
Enterprise Java Beans (EJB)
The Java Naming and Directory Interface (JNDI)
The Java Transaction API (JTA)
The Java Database Connectivity API (JDBC)
Java Management Extension (JMX)
J2EE/CORBA Interface
J2EE Connector Architecture
Java Mail
Java Messaging Service (JMS)
Used together, these tools enable developers to create applications that are distributable across multiple tiers and are highly abstractable.
That said, there’s a time and place for all of the above, and not necessarily all on the same projects. Just because you have a tool in your toolbelt doesn’t mean you need to use it on every project.
So, in the broadest sense, any platform that includes all the pieces of the J2EE spec can be thought of as a J2EE platform. These include all the major Java application servers, such as WebLogic Server and WebSphere. But many people mistake other features offered by these platforms, such as integration with MQueue, as being part of the J2EE spec. They are not, and should not be assumed to be part of a platform just because the platform is J2EE compliant.