I am developing a simple web application. I use JSP and Servlets for that.
This is my project structure.
Here is my code.
CardSelection.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>BulkCardSelect</title>
</head>
<body>
<h1>This is BulkCardSelect</h1>
<form action="/Servlet_Crd" method="post">
<label>Please insert card no</label>
<input type = "text" name="cardno" id="cardno">
<input type = "submit" value="Submit Details">
<input type = "hidden" name="page" value="CardSelection">
</form>
</body>
</html>
Servlet_Crd.java ( which handles requests from Jsps)
public class Servlet_Crd extends HttpServlet
{
RequestDispatcher dispatcher;
private static final long serialVersionUID = 1L;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String sPage = request.getParameter("page");
Logger logger = Logger.getLogger(this.getClass().getName());
logger.log(Level.SEVERE, sPage);
if (sPage.equals("CardSelection"))
{
PrintWriter out = response.getWriter();
out.println("Page name is " + sPage);
dispatcher = request.getRequestDispatcher("/CardPromotion/CardList.jsp");
dispatcher.forward(request, response);
return;
}
else if (sPage.equals("CardList"))
{
PrintWriter out = response.getWriter();
out.println("Page name is " + sPage);
dispatcher = request.getRequestDispatcher("/CardPromotion/CardSelection.jsp");
dispatcher.forward(request, response);
return;
}
}
}
web.xml File
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>Servlet_Crd</servlet-name>
<display-name>Servlet_Crd</display-name>
<description>Handles Card Related work</description>
<servlet-class>com.ub.icard.Servlet_Crd</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet_Crd</servlet-name>
<url-pattern>/Servlet_Crd</url-pattern>
</servlet-mapping>
</web-app>
Problem is, when I submit the CardSelection.jsp it gives me a 404 Error saying Servlet is not found.Apparently the request is directed to "http://localhost:8081/Servlet_Crd"
instead of "http://localhost:8081/BankApplication/Servlet_Crd"
. When I give
<form action="../ServletCrd" method="post">
it works. But when I use that way, I cannot send further requests to the same servlet. Somewhere down the line whole thing breaks.
My question is what can I do rather that using <form action="../ServletCrd" method="post">
. Sorry about my ignorance but I am quite lost here.
Thanks.