Send Redirect

Sends a temporary redirect response to the client using the specified redirect location URL. This method can accept relative URLs; the servlet container must convert the relative URL to an absolute URL before sending the response to the client. If the location is relative without a leading ‘/’ the container interprets it as relative to the current request URI. If the location is relative with a leading ‘/’ the container interprets it as relative to the servlet container root.

If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.

The main difference between sendRedirect & forward is:

  • When using sendRedirect container transfers the request back to client; then client initiates a new request. So the old request will be lost.
  • sendRedirect is used to redirect both internal & external resources
  • forward is used internally.

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.

In this example, to save time; I use annotation servlet so we don’t need to register in web.xml. I’ll explain in other topic of this tutorial.

Step 2 Create Servlet 1 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 Servlet1 or any name you want.
  • Click Finish.
  • Add extends HttpServlet to the class.
  • Implement doGet() method.

This servlet forwards to the other servlet. After forwarding, the user request content will remain and be retrievable from the other servlet.

Step 3 Create Servlet 2 Class

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/Servlet1?test=test attribute

Output

Because the request is lost so it’s displayed null in the page.

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.