I've this servlet that reads the data from db and then passes on a sublist of the data retrieved from db to the jsp page...

package tryjsp;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class GetReleaseDataServlet extends HttpServlet {
	String releaseno = ""; 
	String location = "";
	int startIndex = 0;
        int count = 0;
	int increment = 1;
	int numRows = 0;
	int numPages = 0;
	int numRecordsPerPage = 2;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
	        throws ServletException, IOException
		releaseno = request.getParameter("releaseno"); 
		location = request.getParameter("location");
		String startIndexString = request.getParameter("start");
		if(startIndexString == null) {
			startIndexString = "1";
		startIndex = Integer.parseInt(startIndexString);
		HttpSession session = request.getSession();		
		ReleaseDataDAO myDAO = new ReleaseDataDAO(); 
		List<ReleaseData> myDataList = myDAO.getReleaseData(releaseno,location);
		List<String> versionsList = myDAO.getVersions();

 		numRows = myDataList.size(); 
		numPages = numRows /numRecordsPerPage ;
		int remain = numRows % numRecordsPerPage ;
		if(remain != 0){
			//to display remainder rows
			numPages = numPages +1 ;
		if((startIndex + numRecordsPerPage) <= numRows) {
			increment = startIndex + numRecordsPerPage ;
			if (remain == 0){
				increment = startIndex + numRecordsPerPage ;
				increment = startIndex + remain;

		List<ReleaseData> subDataList = new ArrayList<ReleaseData>();
		for(count = startIndex; count < increment; count++) {

       		session.setAttribute("numRows", numRows);  
		request.setAttribute("versionsList", versionsList);		
		request.setAttribute("myDataList", subDataList);
		request.setAttribute("numRecordsPerPage", numRecordsPerPage);
		request.setAttribute("increment", increment);
		request.getRequestDispatcher("showReleaseData.jsp").forward(request, response);

The jsp page displays the data received (in var "myDataList") from servlet into a table. It also displays a "Prev" or "Next" link, clicking on these links recalculates the startIndex, this index is then used to generate a new sublist in the servlet.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

  Please choose <BR>
  <form method=get action="getReleaseData">
  <select name=releaseno>
    <c:forEach var="item" items="${versionsList}">
         <c:out value="${item}" />
  <select name=location>
  <input type="submit" value="Select"> 

  Your search results matching Releaseno: ${releaseno} and Location: ${location}<BR>
  <table border="1">
    <c:forEach items="${myDataList}" var="releaseData">
  <table width = "100%">
  Displaying Records: ${startIndex},${startIndex+numRecordsPerPage-1}
  <c:if test="${startIndex ne 1}">
    <c:set var="startIndex" value="${startIndex-numRecordsPerPage}"/>
    <td align="center"><a href="/getReleaseData">Previous</a></td>
  <c:set var="temp" value="${startIndex + numRecordsPerPage}"/>
  <c:if test="${temp le numRows}">
    <c:set var="startIndex" value="${startIndex+numRecordsPerPage}"/>
    <td align="center"><a href="/getReleaseData">Next</a></td>

Here is the issue:
Look at the link I provided for the Prev/Next in my jsp page, I gave url of my servlet. As I want to go back to my servlet with the new value of startIndex and generate the new subList. But when I click on Next link, I get "The requested resource (/getReleaseData) is not available.".

Can you please tell me how can I direct control to my servlet from jsp page. Please help.

> But when I click on Next link, I get "The requested resource (/getReleaseData) is not
> available.".

Take a look at the link which is displayed in the location bar of your web browser. Is path shown there same as that the location at which your servlet is present?