a Java application that runs in a Web server or application server and provides server-side processing, typically to access a database or perform e-commerce processing
a Java class that can be dynamically loaded by a servlet server and runs in a Java Virtual Machine (JVM)
a Java class that handles an HTTP request and delivers an HTTP response