Servlet refuses for my iD (Cannot convert String to INT, but it is a INT) to work, it is a int from http://puu.sh/cGvGN/6d29084aec.png (these are fake for school lol)
How can I get this to work? I thought I did it correctly but the Servlet stops working
what happens is that the page doesn't load to the ViewStudentSchedule page because the id INT isnt working. (IT GIVES ME A BLANK PAGE)
Problems:
- Is the ID an Int?
- If it is, how do I connect it to the Servlet, Strings worked just fine but dealing with INTS are now becoming an hassle
- From the picture showing the database, is everything right in the database to pull up the information?
Thanks in advance.
Here is the Servlet
@WebServlet(urlPatterns = {"/StudentLoginServlet"})
public class StudentLoginServlet extends HttpServlet {
    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            int iD = Integer.parseInt("iD");
             iD = request.getParameter("iD");
            System.out.println(iD); 
            String pw = request.getParameter("pw");
            System.out.println(pw);
            Student s1=new Student();
            s1.findDB(iD);
            String fn=s1.getFirstName();
            System.out.println(fn);
            String ln=s1.getLastName();
            System.out.println(ln);
            String pwdb=s1.getPassword();
            System.out.println(pwdb);
            RequestDispatcher rd;
            HttpSession ses1=request.getSession();
            ses1.setAttribute("s1", s1);
            if (pw.equals(pwdb)){
                rd= request.getRequestDispatcher("/ViewStudentSchedule.jsp");
                rd.forward(request,response);
                System.out.println("works");
            }
            else{
                rd= request.getRequestDispatcher("/LoginError.jsp");
                rd.forward(request,response);
                System.out.println("no works");
            }
        }
    }
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
And here is the Business Object
public class Student implements Serializable {
    private int iD;
    private String password;
    private String firstName;
    private String lastName;
    private String street;
    private String city;
    private String state;
    private double zip;
    private String eMail;
    private double gpa;
    private String message;
    /**
     * No arg constructor that sets the default value of all
     * customer properties to an empty string value.
     */
    public Student() {
        this.iD = 0;
        this.password = "";
        this.firstName = "";
        this.lastName = "";
        this.street = "";
        this.city = "";
        this.state = "";
        this.zip = 0;
        this.eMail = "";
        this.gpa = 0;
    }
    public void setID(int id) {
        this.iD = iD;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public void SetLastName(String lastName) {
        this.lastName = lastName;
    }
    public void setStreet(String street) {
        this.street = street;
    }
    public void setCity(String city) {
        this.city = city;
    }
      public void setState(String state) {
        this.state = state;
    }
        public void setZip(double zip) {
        this.zip = zip;
    }
          public void setEMail (String email) {
        this.eMail = email;
    }
          public void setGpa(double gpa) {
        this.gpa = gpa;
    }
    public int getID() {
        return iD;
    }
    public String getPassword() {
        return password;
    }
    public String getFirstName() {
        return firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public String getStreet() {
        return street;
    }
    public String getCity() {
        return city;
    }
    public String getState() {
        return state;
    }
    public double getZip() {
        return zip;
    }
      public String getEMail() {
        return eMail;
    }
    public double getGpa() {
        return gpa;
    }
    public String getMessage() {
        return this.message;
    }
    public boolean login(String password) throws SQLException {
        boolean yes_no = false;
        /* Verify password against database password for the userId */
        if (password.equals(this.password)) {
            this.message = "Thank you, you are logged in.";
            yes_no = true;
        } else {
            this.message = "Sorry Your Login Information seems to be incorrect.";
            yes_no = false;
        }
        /* Returns true or false based on the condition statement above */
        return yes_no;
    }
    /**
     * Establishes connection with the database containing the customer information 
     * @return Connection
     */
    public Connection studentConnect() {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        } catch (ClassNotFoundException e) {
            System.out.println("Errors: " + e);
        }
        Connection connect = null;
        try {
            connect = DriverManager.getConnection("jdbc:odbc:RegisDB");
        } catch (SQLException e) {
            System.out.println("You have Errors: " + e);
        }
        return connect;
    }
    /**
     * Takes the student Id and retrieves the information from the customers
     * data table and stores it in the properties of the customer object.
     * @param iD
     * @throws SQLException 
     */
    public void findDB(int iD)  {
        Connection con = studentConnect();
        Statement statement = null;
        ResultSet result = null;
        String sql = "Select * From Students Where iD = " + iD + ";";
        try {
            statement = con.createStatement();
            result = statement.executeQuery(sql);
            while (result.next()) {
                this.iD = result.getInt("iD");
                this.password = result.getString("password");
                this.firstName = result.getString("firstName");
                this.lastName = result.getString("lastName");
                this.street = result.getString("street");
                this.city = result.getString("city");
                this.state = result.getString("state");
                this.zip = result.getDouble("zip");
                this.eMail = result.getString("eMail");
                this.gpa = result.getDouble("gpa");
            }
            con.close();
        } catch (SQLException e) {
            System.out.println("Errors: " + e);
        } 
    }
    /**
     * Takes in the parameters of the customer database and inserts the parameters taken into 
     * the database for the addition of customers to the database.
      * @param password
     * @param firstName
     * @param lastName
     * @param street
     * @param city
     * @param state
      * @param zip
     * @param email
     * @param gpa
     * @throws SQLException 
     */
    public void insertDB(String password, String firstName, String lastName, String street, String city, String state, double zip, String email, double gpa) throws SQLException {
        Connection con = studentConnect();
        Statement statement;
        ResultSet result;
        int resultVal;
        String sql = "INSERT INTO Students (password, firstName, lastName, street, city, state, zip, eMail, gpa) VALUES ('" + password + "','" + firstName + "','" + lastName + "','" + street + "','" + city +"','" + state +"','" + zip + "','" + eMail +"','" + gpa + "');";
        try {
            statement = con.createStatement();
            resultVal = statement.executeUpdate(sql);
            System.out.println(resultVal);
        } catch (SQLException e) {
            System.out.println("Error: " + e);
            System.out.println(e.getStackTrace());
        } finally {
            con.close();
        }
    }
    /**
     * Takes in student id and locates the customer in the database, performs
     * an sql update and deletes the customer from the database.
     * @param iD
     * @throws SQLException 
     */
    public void deleteDB(int iD) throws SQLException {
        Connection con = studentConnect();
        Statement statement;
        int resultVal;
        String sql = "DELETE FROM Students WHERE iD = " + iD + "';";
        try {
            statement = con.createStatement();
            resultVal = statement.executeUpdate(sql);
            System.out.println(resultVal);
        } catch (SQLException e) {
            System.out.println("Errors: " + e);
        } finally {
            con.close();
        }
    }
}
 
     
    