ServletContext

The ServletContext interface Defines a set of methods that a servlet uses to communicate with its servlet container, for example, to get the MIME type of a file, dispatch requests, or write to a log file.

There is one context per “web application” per Java Virtual Machine. (A “web application” is a collection of servlets and content installed under a specific subset of the server’s URL namespace such as/catalog and possibly installed via a .war file.)

In the case of a web application marked “distributed” in its deployment descriptor, there will be one context instance for each virtual machine. In this situation, the context cannot be used as a location to share global information (because the information won’t be truly global). Use an external resource like a database instead.

The ServletContext object is contained within the ServletConfig object, which the Web server provides the servlet when the servlet is initialized.

The code below shows servlet version, server information & all servlet context attribute.

Step 1 Create New Dynamic Web Project

Step 1.1 Create New Project

Go to File->New->Others… Select Dynamic Web Project under Web category then click Next. Type ServletDemo or whatever name you want in the Project name field.

Step 1.2 Configure Target Runtime

  • Click New Runtime… button under Target Runtime.
  • Select Apache Tomcat v7.0. Click Next.
  • Click Browse button to specify Tomcat Server installation directory. The select the folder then click Ok.
  • Click Installed JREs… button to add/remove or edit JRE definition. Remove existing one; then click Add button to configure new one. Select Standard VM; then click Next. Click Directory button to select the root folder of JDK installation. Select the folder then click Ok. Click Finish.
  • Check the JDK then click Ok.
  • Change JRE to the JDK then click Finish.
  • Click Finish the finish the project creation.

Step 2 Create New Servlet Class

Create a java class that extends javax.servlet.HttpServlet class.

  • Right click to the project or src folder, select New -> Class from the menu.
  • In Java package, enter info.java.tips.servlet.
  • In Class Name, type ServletContextDemo or any name you want.
  • Click Finish.
  • Add extends HttpServlet to the class.
  • Implement doGet() method.

Step 3 Configuring Servlet

The web.xml file is located in the WEB-INF directory of your Web application.

The first entry, under the root servlet element in web.xml, defines a name for the servlet and specifies the compiled class that executes the servlet. The servlet element also contains definitions for initialization attributes and security roles for the servlet.

The second entry in web.xml, under the servlet-mapping element, defines the URL pattern that calls this servlet.

For each servlet, servlet-name must be the same for <servlet> & <servlet-mapping> elements.

Step 4 Clean & Build

Clean & build the project to clean old classes file (if any) & force the IDE to recompile java code.

  • Go to Project on menu bar; select Clean…
  • Select Clean all projects (default)
  • Click Ok to proceed clean & build.

Step 5 Configure Tomcat

Select Servers window; in case it’s not there, go to Windows -> Show View-> Others… Select Server -> Servers; then click Ok.

If this is the first time you are creating a server, in the Servers area you will see a link as No servers are available click this link to create a new server. Click the link.

Define a New Server window will be opened, In Select the server type. Select Apache -> Tomcat v7.0 Server. Then click Finish.

Step 6 Deploy The Application

  • Right click to the Tomcat Server select Add and Remove.
  • Move the application (ServletDemo) from Available column to Configured. Then click on Finish to deploy it to tomcat server.

Step 7 Start Tomcat Server

Right click on the tomcat server and choose Start or simply click on the green start icon to start the server.

Step 8 Run The Servlet

We assume that you install tomcat on default port (8080) and project name is ServletDemo. Open web browser and type:

http://localhost:8080/ServletDemo/servletContextDemo

Output

Note: If you’ve already created a dynamic web project & tomcat server up & running. You can skip step 1 – create new project. And to deploy & run the servlet; follow the below steps:

  • Stop the tomcat server
  • Clean & build the project to re-compile the application
  • Start the tomcat server
  • Open web browser and run the URL.