Difficulty: Easy
Correct Answer: Invalid (Apache can serve servlets via integration with a servlet container)
Explanation:
Introduction / Context: This item distinguishes between a plain web server (Apache HTTP Server, often called “httpd”) and a Java servlet container (for example, Apache Tomcat). Understanding the boundary between static HTTP serving and Java servlet execution is vital for architecture and deployment decisions.
Given Data / Assumptions:
Concept / Approach: Apache HTTP Server does not natively execute Java servlets. Servlets run inside a servlet container compliant with the Java Servlet specification. However, Apache can front and forward requests to Tomcat using connectors such as mod_jk, mod_proxy_ajp, or mod_proxy_http. In practice, Apache participates in serving servlet-based applications through this integration, so the absolute statement “does not support servlets” is misleading and therefore incorrect.
Step-by-Step Solution:
Recognize that servlet execution requires a Java EE/Servlet container.Note that Apache HTTP Server can proxy requests to Tomcat where servlets execute.Thus, with standard integration, Apache can deliver servlet-powered sites.Conclude the blanket claim is invalid.Verification / Alternative check: Typical production stacks use Apache for static content and SSL termination, forwarding dynamic servlet requests to Tomcat/Jetty/Payara.
Why Other Options Are Wrong:
Common Pitfalls: Equating Apache HTTP Server with Tomcat; assuming “support” means “executes directly” rather than “supports through integration.”
Final Answer: Invalid (Apache can serve servlets via integration with a servlet container)
Discussion & Comments