Implicit Objects

When you are writing scriptlets or expressions, there are a number of objects that you have automatic access to as part of the JSP standard without having to fully declare them or import them.

The JSP expression language defines a set of implicit objects:

  • pageContext: The context for the JSP page. Provides access to various objects including:
    • servletContext: The context for the JSP page’s servlet and any web components contained in the same application.
    • session: The session object for the client
    • request: The request triggering the execution of the JSP page.
    • response: The response returned by the JSP page.
  • In addition, several implicit objects are available that allow easy access to the following objects:
    • param: Maps a request parameter name to a single value
    • paramValues: Maps a request parameter name to an array of values
    • header: Maps a request header name to a single value
    • headerValues: Maps a request header name to an array of values
    • cookie: Maps a cookie name to a single cookie
    • initParam: Maps a context initialization parameter name to a single value
  • Finally, there are objects that allow access to the various scoped variables
    • pageScope: Maps page-scoped variable names to their values
    • requestScope: Maps request-scoped variable names to their values
    • sessionScope: Maps session-scoped variable names to their values
    • applicationScope: Maps application-scoped variable names to their values

You can use these implicit objects directly in your code. The following example uses implicit objects:

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. TypeServletDemo 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 JSP File

  • Right click to the project or WebContent folder, select New -> JSP File from the menu.
  • You can choose any name, for example implicitObjectDemo.jsp
  • Click Finish.
  • Eclipse IDE will generate some boilerplate code. We just clear all its content and replace with the followings code:

Step 3 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 4 Deploy The Application

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

Step 5 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 6 Run The JSP

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

Output

Note: for JSP, you don’t need to Clean & Build the project or restart the tomcat server before running. You just change the code, save the changes and run.

For java classes, you need to Clean & Build the project to re-compile the code. In case register new servlet, change settings in web.xml or server.xml… you need to Clean & Build the project and restart tomcat server.