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.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
Improve this question
The tomcat is a well-known Apache licensed web server. There are many stable versions. The one I have been using is Tomcat 8.
Recently, a new NATIVE version is released as is quoted from the Apache website.
The Apache Tomcat is proud to announce the release of 1.2.24 of Tomcat Native.
Could someone explain what the difference is between Tomcat Native and Tomcat? Also, when we refer to a software framework as a NATIVE framework e.g. React Native, what do we really mean?
Tomcat Native optimizes the performance of Tomcat in high concurrency environments.
If Linux has installed APR and native, Tomcat directly supports APR.
Simply put, native is a Linux plug-in used to improve Tomcat concurrency.
Tomcat Native docs
Tomcat 9 Docs
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
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 12 years ago.
Improve this question
I want to install and use java on a linux server. specifically, for creating large web applications, so I want to use JavaServer pages technology
My question: is this possible?
and how do I get started?
thanks,
av
Yes, absolutely.
Tomcat is what you need. It's an open source servlet container that supports JSP (Java Server Pages) and it works fine on Linux. It's very stable and sustains very high throughput.
I can tell you first from first hand experience that some surprisingly large companies with a lot of daily traffic use Java, Linux, and Tomcat to build their webapps.
EDIT: So, if all you are interested in is JSP, Tomcat is the place to go. For large Java webapps, some other standard technologies get used. Based on your question, these may be more than you are looking for now, but just in case....
Apache HTTP Webserver - Can provide
some caching, load balancing, and
HTTPS termination.
Hibernate - Database relational mapping
Spring - Dependency Injection and
configuration, among other things.
Struts or Spring MVC - Web App
framework
Velocity or Freemarker -
Alternatives to JSP for templating
Memcached - Distributed caching.
These are some of the other larger moving parts. All free, open source, and work very well on linux. There are tons of smaller parts that I haven't mentioned.
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 8 years ago.
Improve this question
Why would it be preferred over Tomcat?
Is your experience with big or little companies? Internal or external (customer/public facing) systems?
You could look at this page listing products that use Jetty.
One example you might (unknowingly) be familiar with is that the Eclipse IDE's help system uses Jetty.
Google App Engine for Java (GAE/J) uses Jetty as servlet container.
We use Jetty for a production environment. Very small and easy to install.
Jetty is in a lot of production environments. It is very easy to install, configure and deploy on. No fluffy management stuff that gets in the way.
I have seen Jetty used for production deployments for lightweight http servers for restful services. For simple servers that relay requests back to a service Jetty is often enough.
It is used quite often in embedded mode. If your server needs extra http component, you can just throw in Jetty, write few servlets, and you're done. Tomcat isn't/wasn't as good for embedding as Jetty is.
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 3 years ago.
Improve this question
My webapp exposes some application-specific metrics (think "orders placed") via JMX, which I'd like to monitor using Hyperic HQ (open source edition).
According to the Hyperic Inventory Model, my Linux server is called a Platform hosting my Tomcat 6 Server, which in turn hosts Services (e.g. "Servlet Monitor") that finally expose Metrics (e.g. "Error Count per Minute").
I assume I need to develop a custom Hyperic plugin (just an XML file, really) that would point the agent and server at the correct JMX MBeans. Ideally, I would like to see my webapp listed as a Service hosted by the Tomcat 6 Server, but looking at the Plugin Development docs, that doesn't seem to be possible.
Maybe that's not too bad anyway, because in theory, I might want to switch my app to Jetty. But I figure that's a very common use case, so are there any best practices? I couldn't really find any examples of this on the web, so I thought I might just ask the experts..
Please note: The Hyperic docs I linked to seem to require an account to view.