So I am doing this project where I go to a page first and I have to select from a drop down list. The first option is for adding to the database. The second if for viewing the database. The second option is just a forward to a jsp page which works fine. The first option is giving me error. So initialluy we are on index.jsp (where we select from option 1 and 2)-> then we get optionselect.java servlet, if option 1 was chosen we get forwarded to listnew.jsp. The listnew.jsp has a nice table to enter data for pid, content etc. When I submit this form its supposed to POST to newrecord.java servlet this is where I get the 404 error.
listnew.jsp
<?xml version = "1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%-- beans used in this JSP --%>
<jsp:useBean id = "prob" scope = "page" 
   class = "edu.umsl.math.beans.Problem" />
<jsp:useBean id = "probData" scope = "request" 
   class = "edu.umsl.math.dao.newrecord" />
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
   <title>Adding new question to question bank</title>
   <style type = "text/css">
      body { 
         font-family: tahoma, helvetica, arial, sans-serif;
      }
      table, tr, td { 
         font-size: .9em;
         border: 3px groove;
         padding: 5px;
         background-color: #dddddd;
      }
   </style>
</head>
<body>
<jsp:setProperty name = "prob" property = "*" />
   <% // start scriptlet
      //if (prob.getContent() == null) {
   %> <%-- end scriptlet to insert fixed template data --%>
   <form method="post" action="newrecord">
            <p>Enter the problem id,Content and order number</p>
            <table>
               <tr>
                  <td>Problem id</td>
                  <td>
                     <input type = "text" name = "pid" />
                  </td>
               </tr>
               <tr>
                  <td>Order number</td>
                  <td>
                     <input type = "text" name = "order_num" />
                  </td>
               </tr>
               <tr>
                  <td>Content</td>
                  <td>
                     <input type = "text" name = "content" />
                  </td>
               </tr>
               <tr>
                  <td colspan = "2">
                     <input type = "submit" 
                        value = "Submit" />
                  </td>
               </tr>
            </table>
            </form>
            <% // continue scriptlet
     //       }  // end if
     // else {
       //   probData.addProblem( prob );
    //      <jsp:forward page = "listafteradd.jsp" />
    // continue scriptlet
//      }  // end else
   %> <%-- end scriptlet --%>
</body>
</html>
newrecord.java
package edu.umsl.math.dao;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.UnavailableException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import edu.umsl.math.beans.Problem;
/**
 * Servlet implementation class newrecord
 */
@WebServlet("/newrecord")
public class newrecord extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private PreparedStatement addRecord;
    private Connection connection;
    public void init(ServletConfig config) throws ServletException {
        // attempt database connection and create PreparedStatements
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mathprobdb", "root", "");
            addRecord = connection.prepareStatement("INSERT INTO problem ( "
                    + "pid, content, order_num ) " + "VALUES ( ?, ?, ? )");
        } catch (Exception exception) {
            exception.printStackTrace();
         throw new UnavailableException(exception.getMessage());
        }
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            // set up response to client
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
        String p = request.getParameter("pid");
        String c= request.getParameter("content");
        String o= request.getParameter("order_num");
        if(p==null || c==null ||o==null)
        {
            out.print("Please enter all the entries");
        }
        else
        {
            out.print("pid: "+p);
            out.print("content:"+c);
            out.print("order"+o);
            int pid = Integer.parseInt(p);
            int order=Integer.parseInt(o);
            addRecord.setInt(1, pid);
            addRecord.setString(2, c);
            addRecord.setInt(3, order);
            addRecord.executeUpdate();
            RequestDispatcher view = request.getRequestDispatcher("listafteradd.jsp");
            view.forward(request, response);
            }
        }catch(Exception exception){
                exception.printStackTrace();
                 throw new UnavailableException(exception.getMessage());
                }
        }
    /*public void addProblem(Problem prob) throws SQLException {
        addRecord.setInt(1, prob.getPid());
        addRecord.setString(2, prob.getContent());
        addRecord.setInt(3, prob.getOrder_num());
        addRecord.executeUpdate();
    }*/
}
 
    