I am learning Java SE to use the web. That just can not understand what the Enterprise Edition. C SE everything is clear - a set of different libraries that come with Java, the compiler there and everything like that.

But Java EE is a mystery. Wikipedia says that Java EE is Java SE with very good specifications, scalability and all that jazz. But what does this really mean? Is SE a bad specification?

The description for teapots says that Java EE is Java SE with dynamically changing libraries. What is it like ? If an update is meant, then there is Maven and all that on SE, then why is EE?

They also often say that Java EE is needed for server development. But why ? Servlets can easily be riveted to Java SE. To use the backend server, you can use the Jetty library. And all this SE ...

Personally, I still do not understand what is happening in the world of Java EE. Can someone give an example of use or write, how can EE really help?

  • one
    You can write sites using JavaEE, there will be servlets (Java Servlet) closely related to the .jsp file) .jsp file is almost the same as HTML) I’m certainly not a pro in this area, but thanks to JavaEE I learned how to write dynamic-changing Sites) - E1mir
  • five
    @KryTer_NexT writing sites in java is a perversion. All the same, that a teleporter spud potatoes ... Java for more is needed. - Alexey Shimansky
  • @ Alexey Shimansky, for example? - faoxis
  • @ Alexey Shimansky Well, he wanted an example where JavaEE is used, I answered) Yes, I agree that you can do more in Java than a website) But still, this is also the case) - E1mir
  • @ Alexey Shimansky, what do you mean by "website"? - free_ze

2 answers 2

Something you did not read in Wikipedia, or not understood. Wikipedia does not say that Java EE is Java SE.

Java EE is a set of specifications and related documentation for the Java language, which describes the architecture of the server platform for medium and large enterprises. https://ru.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition

Yes, if you write the server on Jetty, it will not be Java EE (it will be Java EE starting from the 7th version of Jetty). But Java EE is not only servlets, it includes JSP, EJB, CDI, JPA and a bunch of other specifications (see the link to Wikipedia).

In practice, J2EE is a basic set of interfaces / classes / annotations, and already provide implementations with application servers — WildFly, GlassFish, WebSphere, and others.

Is SE a bad specification?

Not bad, these are different specifications.

The description for teapots says that Java EE is Java SE with dynamically changing libraries.

Rave.

But why ? Servlets can easily be riveted to Java SE. To use the backend server, you can use the Jetty library.

Jetty is a servlet container, roughly speaking an implementation of the J2EE part (from the 7th version supports the Servlet 2.5 API, from the 8th 3.0). Also, for example, Weld is one of the implementations of CDI. You can use it all separately, you can all together. You can take N J2EE technologies and link them yourself, you get a kolenky-kenky application server. Although it is better to still get ready)

And all this SE ...

And Jetty is SE, and other frameworks are SE, and half of the Java classes are also SE. If you want, you can write everything from scratch.

Personally, I still do not understand what is happening in the world of Java EE.

I advise you to read in and out at least one book on J2EE.

Can someone give an example of use or write, how can EE really help?

Each J2EE specification helps you with something, you can use them individually or in combination, depending on your needs. For example: CDI - convenient dependency injection, no need to write a bunch of extra code or modules for Guice, JPA - convenient database management at the object level, EJB - convenient writing business logic, JAX-WS - web services support, servlets - HTTP request processing etc. Allow one programmer to use only Java SE, and the second Java EE, and see how much they solve a web-related task.

  • 2
    Allow one programmer to use only Java SE, and the second Java EE, and see how much they solve a web-related task. It will be about the same if the SE programmer takes Spring. - Nofate
  • @Nofate Spring is not SE, nor is J2EE SE. Spring in this case is an alternative to J2EE. - Russtam
  • Controversial statement. - Nofate

Java EE — Created on the basis of the Java SE platform, and provides a set of technologies for developing and executing portable, error-tolerant, scalable, reliable, and secure server applications.

But about the difference between Java EE and J2EE, you can read here: http://www.oracle.com/technetwork/java/javaee/javaee-faq-jsp-135209.html#diff

Well, in fact, for more in-depth in Java SE, you can study the schema, by this understand the technology and operation of the virtual machine: http://www.oracle.com/technetwork/java/javase/tech/index.html