Share on Google+Share on Google+

@WebServlet Url Embedding Example

Ads
In this tutorial you will learn how can you embed the url of another web component in servlet.

Servlet Url Embedding Example

In this tutorial you will learn how can you embed the url of another web component in servlet.

Embedding URL is a process of invoking another web resource by a web component indirectly. Using this process content of web component is responded for a request made by client.

In the example given below I tried to demonstrate you about how to embed an url. Here the url which I construct here is a sub part of constructing the url. You can construct a complete url (according to your uses) by using some of the methods provided to you by the following interfaces :

  1. javax.servlet.ServletRequest
    • getScheme() : eg. http, https, ftp.
    • getServerName() : returns the hostname of server.
    • getServerPort() : returns the port number.
  2. javax.servlet.http.HttpServletRequest
    • getContextPath() : portion of the request URI is given back which specifies the context of your request.
    • getServletPath() : gives URL which calls the servlet.
    • getPathInfo() : gives the additional path information, attached with the URL.
    • getQueryString() : gives the query string hold by the request URL subsequent to the path.

Example

UrlRequestExample.java

package roseindia.urlExample;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet(name="UrlRequestExample", urlPatterns= {"/UrlRequestExample"})
public class UrlRequestExample extends HttpServlet
{
private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out= response.getWriter();
String contextPath= request.getContextPath();
out.println("To view another web component");
out.println("<a href="+contextPath+"/UrlResponseExample>Click</a>");
out.println("here.");
System.out.println(request.getPathInfo());
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
}

UrlResponseExample.java

package roseindia.urlExample;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name="UrlResponseExample", urlPatterns={"/UrlResponseExample"})
public class UrlResponseExample extends HttpServlet {
private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out= response.getWriter();
out.println("<h3>This servlet is called indirectly through the url requesting</h3>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

Output

When you will execute the servlet "UrlRequestExample.java" you will get the output as :

After execution of the servlet "UrlRequestExample.java" successfully and when you will click on the hyperlink "Click" you will be redirected to the another servlet which contains the some content as :

Download Source Code

Advertisements

Posted on: December 16, 2011 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Share this Tutorial Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Discuss: @WebServlet Url Embedding Example  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0