質問

I keep getting this error whenever I attempt to run a specific jsp on my project

enter image description here

I've done everything that i can think of (including recreating the database it needs, checking and rechecking the lines that I assume has the fault, line #165 of Projectbean.java, more specifically the prepared statement part of the public int rowCount() function) If someone could please point me to the right direction, it will be greatly appreciated.

Projectservlet.java:

    import project.Projectbean;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    /**
     *
     * @author REY
     */
    @WebServlet(name = "Projectservlet", urlPatterns = {"/Projectservlet"})
    public class Projectservlet extends HttpServlet {

        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
                /* TODO output your page here. You may use following sample code. */
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet Projectservlet</title>");            
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>Servlet Projectservlet at " + request.getContextPath() + "</h1>");
                out.println("</body>");
                out.println("</html>");
            } finally {            
                out.close();
            }
        }

        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
         String option=request.getParameter("menu");

            if(option == null || option.equals("menu"))
            {   
                RequestDispatcher dr = request.getRequestDispatcher("Menu.jsp");
                dr.forward(request, response);
            }
            else if(option.equals("stud"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("Student.jsp");
                dr.forward(request, response);   
            }
            else if(option.equals("book"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("Book.jsp");
                dr.forward(request, response);   
            }
            else if(option.equals("cat"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("Category.jsp");
                dr.forward(request, response);   
            }
            else if(option.equals("Borrow"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("Borrow.jsp");
                dr.forward(request, response);   
            }
            else if(option.equals("Return"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("Return.jsp");
                dr.forward(request, response);   
            }   

        }

        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            PrintWriter out = response.getWriter();
            String option = request.getParameter("option");

     //STUDENT CONTROLLER
            if (option.equals("Add Student"))
            {
                 RequestDispatcher dr = request.getRequestDispatcher("AddStudent.jsp");
                 dr.include(request, response); 
            }
            else if (option.equals("addedS"))
            {
                    String id = request.getParameter("Studid");

                    int a = Integer.parseInt(id);

                    Projectbean addCustomer = new Projectbean();
                    addCustomer.setStudid(a);
                    addCustomer.setFname(request.getParameter("Fname"));
                    addCustomer.setLname(request.getParameter("Lname"));
                    addCustomer.setCourse(request.getParameter("Course"));

                   addCustomer.AddStudent();
                   RequestDispatcher dr = request.getRequestDispatcher("AddStudtConfirm.jsp");
                   dr.include(request, response);

            }

            else if (option.equals("Edit Student"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("EditCustomer.jsp");
                dr.include(request, response); 
            }
            else if (option.equals("editS"))
            {
                String Studid = request.getParameter("edit");  
                request.setAttribute("Studid", Studid);

                RequestDispatcher dr = request.getRequestDispatcher("EditedStudent.jsp");
                dr.include(request, response); 
            }
            else if (option.equals("editedC"))
            {
                Projectbean edit = new Projectbean();
                int id = Integer.parseInt(request.getParameter("Studid"));
                edit.setStudid(id);
                edit.setFname(request.getParameter("Fname"));
                edit.setLname(request.getParameter("Lname"));
                edit.setCourse(request.getParameter("Course"));
                edit.EditStudent();
                RequestDispatcher dr = request.getRequestDispatcher("EditStudConfirm.jsp");
                dr.include(request, response);
            }
            else if (option.equals("Delete Student"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("DeleteStudent.jsp");
                dr.include(request, response); 
            }
            else if (option.equals("deleteS"))
            {
                String ID = request.getParameter("delete");
                int custID = Integer.parseInt(ID);
                Projectbean delete = new Projectbean();
                delete.DeleteStudent(custID);

                RequestDispatcher dr = request.getRequestDispatcher("DeleteStudConfirm.jsp");
                dr.include(request, response);  
            }
            else if (option.equals("Search Student"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("SearchStudent.jsp");
                dr.include(request, response);
            }
            else if (option.equals("searchS"))
            {
                String search = request.getParameter("search");  
                request.setAttribute("search", search);
                RequestDispatcher dr = request.getRequestDispatcher("SearchedStudent.jsp");
                dr.include(request, response);

            }
    //CATEGORY CONTROLLER
            else  if (option.equals("Add Category"))
            {
                 RequestDispatcher dr = request.getRequestDispatcher("AddCategory.jsp");
                 dr.include(request, response); 
            }
            else if (option.equals("addedCat"))
            {
                    String id = request.getParameter("Catid");

                    int a = Integer.parseInt(id);

                    Projectbean addCategory = new Projectbean();
                    addCategory.setCatid(a);
                    addCategory.setCatname(request.getParameter("Catname"));

                   addCategory.AddCategory();
                   RequestDispatcher dr = request.getRequestDispatcher("AddCatConfirm.jsp");
                   dr.include(request, response);
            }

            else if (option.equals("Edit Category"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("EditCategory.jsp");
                dr.include(request, response); 
            }
            else if (option.equals("editCat"))
            {

                String catID = request.getParameter("catedit");  
                request.setAttribute("Catid", catID);
                out.println (catID);
                RequestDispatcher dr = request.getRequestDispatcher("EditedCategory.jsp");
                 dr.forward(request, response); 

            }
            else if (option.equals("editedCat"))
            {
                Projectbean editcat = new Projectbean();
                int id = Integer.parseInt(request.getParameter("Catid"));
                editcat.setCatid(id);
                editcat.setCatname(request.getParameter("Catname"));
                editcat.EditCategory();
                RequestDispatcher dr = request.getRequestDispatcher("EditCatConfirm.jsp");
                dr.include(request, response);
            }

            else if (option.equals("Delete Category"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("DeleteCategory.jsp");
                dr.include(request, response); 
            }
            else if (option.equals("delCat"))
            {
                String ID = request.getParameter("catdelete");
                int Catid = Integer.parseInt(ID);
                Projectbean catdelete = new Projectbean();
                catdelete.DeleteCategory(Catid);

                RequestDispatcher dr = request.getRequestDispatcher("DeleteCatConfirm.jsp");
                dr.include(request, response);  
            }

             else if (option.equals("Search Category"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("SearchCategory.jsp");
                dr.include(request, response);
            }
            else if (option.equals("searchCat"))
            {
                String search = request.getParameter("search");  
                request.setAttribute("search", search);
                RequestDispatcher dr = request.getRequestDispatcher("SearchedCategory.jsp");
                dr.include(request, response);

            }

    //PRODUCT CONTROLLER
            else  if (option.equals("Add Book"))
            {
                 RequestDispatcher dr = request.getRequestDispatcher("AddBook.jsp");
                 dr.include(request, response); 
            }
            else if (option.equals("addedBook"))
            {
                    String id = request.getParameter("Bookid");
                    String Catid = request.getParameter("edit");
                    int catID = Integer.parseInt (Catid);
                    int Bookid = Integer.parseInt(id);
                    //int numavail = Integer.parseInt(request.getParameter("availNo"));
                    //double price = Double.parseDouble(request.getParameter("prodPrice"));

                    Projectbean addProduct = new Projectbean();
                    addProduct.setBookid(Bookid);
                    addProduct.setTitle(request.getParameter("Title"));
                    addProduct.setAuthor(request.getParameter("Author"));
                    //addProduct.setProdAvail(numavail);
                    //addProduct.setProdPrice(price);
                    addProduct.setCatid(catID);
                    addProduct.AddBook();

                    RequestDispatcher dr = request.getRequestDispatcher("AddBookConfirm.jsp");
                    dr.include(request, response);
            }

            else if (option.equals("Edit Book"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("EditBook.jsp");
                dr.include(request, response); 
            }
            else if (option.equals("editBook"))
            {

                String Bookid = request.getParameter("prodedit");  
                request.setAttribute("Bookid", Bookid);
                out.println (Bookid);
                RequestDispatcher dr = request.getRequestDispatcher("EditedBook.jsp");
                 dr.forward(request, response); 

            }
            else if (option.equals("editedBook"))
            {
                Projectbean editprod = new Projectbean();
                int id = Integer.parseInt(request.getParameter("Bookid"));
                //int avail = Integer.parseInt (request.getParameter("prodavail"));
                double price = Double.parseDouble(request.getParameter("prodprice"));
                int catID = Integer.parseInt(request.getParameter("category"));

                editprod.setBookid(id);
                editprod.setTitle(request.getParameter("Title"));
                editprod.setAuthor(request.getParameter("Author"));
                //editprod.setProdAvail(avail);
                //editprod.setProdPrice(price);
                editprod.setCatid(catID);
                editprod.EditBook();
                RequestDispatcher dr = request.getRequestDispatcher("EditBookConfirm.jsp");
                dr.include(request, response);
            }

            else if (option.equals("Delete Book"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("DeleteBook.jsp");
                dr.include(request, response); 
            }
            else if (option.equals("delBook"))
            {
                String ID = request.getParameter("bookdel");
                int prodID = Integer.parseInt(ID);
                Projectbean catdelete = new Projectbean();
                catdelete.DeleteBook(prodID);

                RequestDispatcher dr = request.getRequestDispatcher("DeleteBookConfirm.jsp");
                dr.include(request, response);  
            }

             else if (option.equals("Search Book"))
            {
                RequestDispatcher dr = request.getRequestDispatcher("SearchBook.jsp");
                dr.include(request, response);
            }
            else if (option.equals("searchBook"))
            {
                String id = request.getParameter("category");
                String search = request.getParameter("search");
                request.setAttribute("Catid",id);
                request.setAttribute("search", search);
                RequestDispatcher dr = request.getRequestDispatcher("SearchedBook.jsp");
                dr.include(request, response);

            }
        }
        @Override
        public String getServletInfo() {
            return "Short description";
        }

    }

Projectbean.java

package project;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Projectbean {
    private Connection con;
    //student
    int Studid;
    String Fname;
    String Lname;
    String Course;

    //book
    int Bookid; 
    String Title;
    String Author;
    String Dborrowed;
    String Dreturned;
    int Fee;

    //Category
    int Catid;
    String Catname;

    //student setters
    public void setStudid (int id)
    {
        Studid = id;
    }
    public void setFname (String val)
    {
        Fname = val;
    }
    public void setLname (String val)
    {
        Fname = val;
    }
    public void setCourse (String val)
    {
        Course = val;
    }
    //student getters
    public int getStudid ()
    {
        return Studid ;
    }
    public String getFname ()
    {
        return Fname ;
    }
    public String getLname ()
    {
        return Lname ;
    }
    public String getCourse ()
    {
        return Course ;
    }

    //book setters
    public void setBookid (int id)
    {
        Bookid = id;
    }
    public void setTitle (String val)
    {
        Title = val;
    }
    public void setAuthor (String val)
    {
        Author = val;
    }
    public void setDborrowed (String val)
    {
        Dborrowed = val;
    }
    public void setDreturned (String val)
    {
        Dreturned = val;
    }
    public void setFee (int fee)
    {
        Fee = fee;
    }
    //book getters
    public int getBookid ()
    {
        return Bookid ;
    }
    public String getTitle ()
    {
        return Title ;
    }
    public String getAuthor ()
    {
        return Author ;
    }
    public String getDborrowed ()
    {
        return Dborrowed ;
    }
    public String getDreturned ()
    {
        return Dreturned ;
    }
    public int getFee ()
    {
        return Fee ;
    }

    //Category setters
    public void setCatid (int id)
    {
        Catid = id ;
    }
    public void setCatname(String val)
    {
        Catname = val;
    }
    //Category getters
    public int getCatid()
    {
        return Catid;
    }
    public String getCatname()
    {
        return Catname;
    }


    public Projectbean(){
        try{
            Class.forName("org.apache.derby.jdbc.ClientDriver");
            con = DriverManager.getConnection(
                "jdbc:derby://localhost:1527/final",
                "", "");
        }catch(Exception e){
            System.out.println("Exception" + e);
        }
    }

    //student
    public ResultSet GetStudent() throws SQLException, Exception{
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.STUDENT");
        return rs;
    }
    //set student id
    public int rowCount() throws SQLException{
           PreparedStatement st= con.prepareStatement("SELECT STUDENTID FROM APP.STUDENT");
           ResultSet rs = st.executeQuery();
           //get the number of rows from the result set
           int count = 0;
           while (rs.next()){
           count = rs.getInt(1);
           }
           return count;
    }
    //get specific student
    public void GetSpecificStudent (String StudID) throws SQLException, Exception{
        int id = Integer.parseInt(StudID);
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.STUDENT WHERE STUDID="+id+" ");
        rs.next();
        this.Studid = id;
        Fname = rs.getString("FIRSTNAME");
        Lname = rs.getString ("LASTNAME");
        Course = rs.getString("COURSE");
    }
    //Add Student
    public void AddStudent(){
        String read = "insert into APP.STUDENT (STUDID,FIRSTNAME,LASTNAME,COURSE) values(?,?,?,?)";
        PreparedStatement addrec;
        try {
        addrec = con.prepareStatement(read);
        addrec.setInt(1, Studid);
        addrec.setString(2, Fname);
        addrec.setString(3, Lname);
        addrec.setString(4, Course);
        addrec.execute();
        }
        catch (SQLException e){
            System.out.println ("Exception " + e);
        }
    }
    //edit student
    public void EditStudent(){
        String read = "Update APP.STUDENT set STUDID=?, FIRSTNAME=?, LASTNAME=?, COURSE=? where ID="+Studid;
        PreparedStatement editRec;
        try{
                editRec = con.prepareStatement(read);
        editRec.setInt (1,Studid);
                editRec.setString(2,Fname);
        editRec.setString(3,Lname);
                editRec.setString(4,Course);
                editRec.execute();
        }
        catch (SQLException e){
            System.out.println ("Exception " + e);
            }
    }
    //Delete student
    public void DeleteStudent (int id) {
    try
        { 
            Statement s = con.createStatement(); 
            String  read= "Delete FROM APP.STUDENT where STUDID = "+id+"";
            s.executeUpdate(read);
            }
            catch(SQLException e)
            {
                System.out.println(e);
            }    
    }
    //search student
    public ResultSet SearchStudent(String search) throws SQLException, Exception{
        String[] split = search.split("\\s+");
        int count = split.length;
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.STUDENT WHERE FIRSTNAME= '"+split[0]+"' OR LASTNAME= '"+split[count-1]+"' ");
        return rs;
    }

    //BOOK
    public ResultSet GetBook() throws SQLException, Exception{
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.BOOK");
        return rs;
    }
    //set book id
    public int BookrowCount() throws SQLException{
        PreparedStatement st= con.prepareStatement("SELECT BOOKID FROM APP.BOOK");
           ResultSet rs = st.executeQuery();
           //get the number of rows from the result set
           int count = 0;
           while (rs.next()){
           count = rs.getInt(1);
           }
           return count;
    }
    //get specific book
    public void GetSpecificBook (String BookID) throws SQLException, Exception{
        int id = Integer.parseInt(BookID);
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.BOOK WHERE custID="+id+" ");
        rs.next();
        this.Bookid = id;
        Title = rs.getString("TITLE");
        Author = rs.getString ("AUTHOR");
        Dborrowed = rs.getString("DATEBORROWED");
        Dreturned = rs.getString("DATERETURNED");
        Fee = rs.getInt("BORROWERSFEE");
    }
    //Add book
    public void AddBook(){
        String read = "insert into APP.BOOK (BOOKID,TITLE,AUTHOR,CATEGORYID) values(?,?,?)";
        PreparedStatement addrec;
        try {
        addrec = con.prepareStatement(read);
        addrec.setInt(1, Bookid);
        addrec.setString(2, Title);
        addrec.setString(3, Author);
        addrec.setInt(4, Catid);
        addrec.execute();
        }
        catch (SQLException e){
            System.out.println ("Exception " + e);
        }
    }
    //edit book
    public void EditBook(){
        String read = "Update APP.BOOK set BOOKID=?, TITLE=?, AUTHOR=?, CATEGORYID=? where BOOKID="+Bookid;
        PreparedStatement editRec;
        try{
                editRec = con.prepareStatement(read);
        editRec.setInt (1,Bookid);
                editRec.setString(2,Title);
        editRec.setString(3,Author);
                editRec.setInt(4,Catid);
                editRec.execute();
        }
        catch (SQLException e){
            System.out.println ("Exception " + e);
            }
    }
    //delete book
    public void DeleteBook (int id) {
    try
        { 
            Statement s = con.createStatement(); 
            String  read= "Delete FROM APP.BOOK where BOOKID = "+id+"";
            s.executeUpdate(read);
            }
            catch(SQLException e)
            {
                System.out.println(e);
            }    
    }
    //search book
    public ResultSet SearchBook(String search) throws SQLException, Exception{
        String[] split = search.split("\\s+");
        int count = split.length;
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.book WHERE TITLE= '"+split[0]+"' OR AUTHOR= '"+split[count-1]+"' ");
        return rs;
    }

    //CATEGORY
    //Set Category ID
    public int rowCountCat() throws SQLException{
        PreparedStatement st= con.prepareStatement("SELECT CATEGORYID FROM APP.CATEGORY");
           ResultSet rs = st.executeQuery();
           //get the number of rows from the result set
           int count1 = 0;
           while (rs.next()){
           count1 = rs.getInt(1);
           }
           return count1;
    }
    //Add Category
    public void AddCategory (){
        String read = "insert into APP.CATEGORY (CATEGORYID,CATEGORYNAME) values(?,?)";
        PreparedStatement addrec;
        try {
            addrec = con.prepareStatement(read);
            addrec.setInt(1, Catid);
            addrec.setString(2, Catname);
            addrec.execute();
        }
        catch (SQLException e){
            System.out.println ("Exception " + e);
        }
    }
    //Get List of Category
    public ResultSet GetCategory () throws SQLException, Exception{
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.CATEGORY");
        return rs;
    }
    //Get Specific Category
    public void GetSpecificCategory (String catID) throws SQLException, Exception {
        int id = Integer.parseInt(catID);
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.CATEGORY WHERE CATEGORYID="+id+" ");
        rs.next();
        this.Catid = id;
        Catname = rs.getString("CATEGORYNAME");
    }
    //EDIT Category
    public void EditCategory () {
        String read = "Update APP.CATEGORY set CATEGORYID=?, CATEGORYNAME=? WHERE CATEGORYID="+Catid;
        PreparedStatement editRec;
        try{
                editRec = con.prepareStatement(read);
        editRec.setInt (1,Catid);
                editRec.setString(2,Catname);
                editRec.execute();
        }
        catch (SQLException e){
            System.out.println ("Exception " + e);
        }
    }
    //Delete Category
    public void DeleteCategory (int id) {
    try
        { 
            Statement s = con.createStatement(); 
            String  read= "Delete FROM APP.CATEGORY where CATEGORYID = "+id+"";
            s.executeUpdate(read);
            }
            catch(SQLException e)
            {
                System.out.println(e);
            }    
    }
    //Search Category
    public ResultSet SearchCategory (String search) throws SQLException, Exception{
        String[] split = search.split("\\s+");
        int count = split.length;
        Statement s = con.createStatement();
        ResultSet rs = s.executeQuery("Select * from APP.CATEGORY WHERE CATEGORYNAME= '"+split[0]+"' OR CATEGORYNAME= '"+split[count-1]+"' ");
        return rs;   
    }
}
役に立ちましたか?

解決

con may be mostly null at this point because there are no other candidates that can be null at this point

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top