Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
My intent is to learn Java EE so when I start a project in netbeans, I can choose from Java EE and Java Web. The problem is, that I don't fully understand what is the difference between these two and which one to choose. I have some basics on JSP, JSF, Servlets. I guess all server side stuff is enterprise. So what are extra features of Java EE compared to Java Web?
In NetBeans, java web refers to simple java web applications that can run in a light-weight container like Tomcat or Jetty. J2EE is intended to be run in a full Application Server such as Glassfish, and contains java web components, EJBs and JPA ORM. If you're a novice and want to start with easy stuff the JavaWeb applications may be better for you. Here's a write up from NetBeans: https://netbeans.org/kb/trails/java-ee.html
Both concepts are imprecisely used but ... OK, roughly speaking: Java EE is something broader than Java web. If you intend to use only technologies which a simple web container implementation (e.g. Tomcat) provides, then you're after a Java web project. If you intend to use additional technologies (say EJBs, or other EE technologies) then you need a full blown Java EE server (e.g. JBoss/WildFly). So I guess in your case you just need a Java web project.
For a full list of the Java EE technologies, see here:
http://www.oracle.com/technetwork/java/javaee/tech/index.html
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I want to make HTML website of course using CSS etc. But instead of using php for dynamic functions I would like to use Java. I have heard that there are plenty of web frameworks as Spring etc.
The problem is always when I search for tutorial - How to make java web? It shows me results with - web application, applet, servlet, JSP. I can't find short simple answer explaining how to start with that and what is the right thing to start with.
Would you mind telling me what should I use to make what I want? Just some short answer explaining what is what for. I remind you: I want to do some dynamic stuff on web based on Java instead of PHP.
EDIT:
I know I have to use dedicated server with Tomcat probably I am just looking for way to start. Should I start with the framework or?
I personaly only used Thymeleaf tutorials to learn about java-web and I'm satisfied with them, it has good-explained tutorials but it mostly teaches you how to process html templates with java.
If you do not want to follow thymeleaf tutorials, you should search for JAVA EE or JSP tutorials on either google or youtube, both provide well explained video tutorials for beginners
For my webserver I used tomcat which is easy to use and good with debugging. I recommand it
EDIT: A web application may have one or more jsps (java server pages). Servlets are requests from the browser to the jsp.
You must have VPS or Dedicated Server to use, because shared web hostings doesn't support languages like Java, C, C++, Node.JS and so on...
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am very confused on what to use in developing a web application. If you can develop a web service using Java se restlet, then why should you bother using Java EE. What are the advantages of the one over the other? When and why should I use each?
Using something like Restlet doesn't necessary exclude JavaEE (you can use RestLet within JavaEE platforms).
Traditionally, JavaEE containers provide standardized services to applications. If you wanted to have a way to store your data transactionally, you'd write some EJBs because you didn't have to come up with the transactional model. The container provided that. You just focused on the entity and session beans that are specific to your domain.
Spring came along and provided a lot of the same capabilities in its own implementations (sharing some specifications and coming up with their own). But at the end of the day, you're using a common model for doing stuff.
JavaEE (or Spring) aren't limited to transactional models. JavaEE incorporates Servlets which in turns supports a raft of Web application frameworks. But, then again, many applications like tomcat support servlets without supporting the full JavaEE umbrella of specifications. JavaEE containers can supply JMS servers if your application requires asynchronous messaging, as well as standard means to define JDBC DataSources.
You'd typically use a JavaEE container like Glassfish/JBoss, if you want to have a lot of enterprise-level features without having to set them all up yourself.
You can do all the same things in Spring/etc, which is just a JVM, but you're also setting up all those services yourself (kicking off your own JMS servers, for example).
Historically, JavaEE containers were seen as large, resource-intensive applications which drove a lot of the Springs of the world to piece together just what you want/need. More modern releases of JavaEE containers are starting to buck that trend, though.
You really need to know what your application wants to do and look at what tools out there will provide you with what you want. Barring that, just grab Glassfish or something similar and have a play.
Hope this helps.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Is it possible to write enterprise web applications in PHP as it is in Java (with Java EE stack of technologies)? I know just a bit of PHP and I've always seen it like a request-process-response programming/scripting language with no objects staying alive on the server (like #Stateful ejbs) after the script has finished its execution.
To put it in another way: can the same web application be implemented in Java and in PHP? Or is one of the two languages more powerful than the other?
Edit: let me clarify my question: I already know Java and have some experience in enterprise web applications. I want to know if PHP is equally powerful (in language structure, in today available frameworks, and so forth) to make the same complex applications that can be done in Java.
Not more powerful in the sense that you could write something in Java that would be impossible to replicate in PHP. I'm not familiar with PHP, but there's most likely similar frameworks and libraries that have been created for PHP that exist already in Java (such as an ORM framework like JPA).
Stateful EJBs aren't that special (and not that common either). You can readily store information in the session whether you're using Java or PHP.
This isn't really a suitable question for SO either, since programming languages are different and frameworks are different and you'll never find the "best" something, because that doesn't really exist.
Solution: learn both.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
According to https://stackoverflow.com/a/5039371/769384, which clearly states the difference between servlet containers and app servers, it seems that a web container such as Tomcat should not be widely used in enterprise applications.
Lots of libraries would have to be installed additionally, so it's a lot easier to install an app server that provides it.
The question is - do I get it right? Are there any enterprise applications run on tomcat? What would be the benefit of deploying a Java EE (EJB+JPA+JSF+...) on a Tomcat instead of a GlassFish server?
Servlet containers which can be also called web containers don't support EJBs', they only support Servlets and JSPs' along with other related technologies.
If you need to deploy and EJB, you'll then need an application server.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I know this question might be little silly but I can't seem to find the right answer. I studied Java in school and the java I know is object oriented and used Eclipse/Netbeans and also Notepad++ for coding. Used java API and i also know java swing library. When i went to interviews they asked me if i had any experience with Java spring, hibernate or Java EE since my resume implied that I am proficient with Java.
Can anyone tell me what is the name of the Java that I know?
Java SE; "Core Java".
It's not "J2SE" any more, hasn't been for years.
Neither Hibernate nor Spring are Java EE, but they're not part of Java itself, either. They're just wildly popular libraries/frameworks. Hibernate happens to be an implementation of JPA, and Spring supports some Java EE annotations. They can both be used in either Java SE or Java EE environments.
You are using Core Java....Core java is all the basic classes and API's. It is the Java equivalent
of the "C lib" or the intrinsic controls and built-in-functions in VB.
These are then added to with extra API's to make a "platform", that is
the complete set of API's needed to run an application.
Core java + common API's exist for different application areas, so we
have the Java EE platform, the Java SE platform and the Java ME one, for example.
This is common sense, it means developers of paricular types of
applications need to add little or nothing to the platform to support
thier apps whilst avoiding ridiculous bloat.
Note that you can take "core java" and add to it all the packages you
need to make a full blown JSP web/app server. It is more convinient to
take a platform which allready has this type of stuff included.