Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I asked my teacher in class that Java Server Faces will work on Apache Tomcat. But he then corrected me saying that Tomcat is a Web Server not an Application Server, hence it will not run Java Server Faces.

My question is what is the difference between an Application Server and a Web Server?
What is it about Apache Tomcat that is can run JSPs and Servlets but not JSFs?

share|improve this question
up vote 6 down vote accepted

Tomcat is definitely an application server, as it will happily process Java server-side code in order to generate dynamic contents, while instead a "pure" web server (like Apache) can only serve static web pages; so your teacher is totally wrong here.

What is right is that Tomcat doesn't provide native JSF support; but the more than 4500000 results shown by a simple Google search for Tomcat + JSF are quite explicit in showing that Tomcat can indeed run Java Server Faces.

share|improve this answer

They're often the same, but technically an app server is not limited to HTTP requests, and is often behind a web server and provides "business logic" in the form of web service calls which are used to construct the actual resources requested by the end user. See this for more:

JSP is a Java technology that allows software developers to dynamically generate HTML, XML or other types of documents in response to a Web client request ( ) hence, can be served by a webserver (tomcat).

JSF is a Java-based Web application framework that simplifies the development of user interfaces for Java EE applications. Out of the box, JSF uses JavaServer Pages for its display technology... ( ).

That should explain it for you.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.