类java.beans.Beans无法使用修饰符“”访问Perosn.PersonDAO类的成员?

时间:2015-07-30 12:49:48

标签: java jsp jdbc

我有jsp文件saveperson.jsp,它使用StudentDAO.java文件作为java Bean,但这不能正常工作..... 请建议我哪里出错了..

我在浏览器中收到以下错误...

  

javax.servlet.ServletException:java.lang.InstantiationException:   class Perosn.PersonDAO:java.lang.IllegalAccessException:Class   java.beans.Beans无法访问Perosn.PersonDAO类的成员   修饰语“”

saveperson.jsp

<%@page import="java.sql.*"%>
<%@page import="Perosn.*"%>


<html>

    <body>

         <jsp:useBean id="pDAO" class="Perosn.PersonDAO" scope = "page" /> 

         <jsp:useBean id="personBean" class="Perosn.PersonInfo" scope = "page" /> 
        <jsp:setProperty name="personBean" property="*" />


        <%
         pDAO.setPerson(personBean);

        %>

        <center>
        <h1>You have successfully add the record!</h1>
        <h4>  
              <a href="index.html" > Add another Person Record </a> <br>
              <br><br>


              <a href="searchperson.jsp" > Search Person </a>    
          </h4> 
        </center>
    </body>
</html>

PersonDAO.java

import java.util.*;

import java.sql.*;

import java.io.*;

public class PersonDAO implements Serializable  {

    private Connection conn;

    private PreparedStatement stmt;

    public ArrayList pList;

    PersonDAO() throws SQLException{

        establishConnection();
    }
    public void establishConnection() throws SQLException

    {

        String url="jdbc:ucanaccess://C:\\Users\\Asim Iqbal\\Documents\\PersonInfo.accdb";

        conn = DriverManager.getConnection(url);
    }
    public ArrayList getPerson(String name) throws SQLException {     

        pList=new ArrayList();

        String sql="SELECT * FROM Person WHERE name=?";

        stmt=conn.prepareStatement(sql);

        stmt.setString(1,name);

        ResultSet rs=stmt.executeQuery();

         String add,n;

         String p;

        while(rs.next()){

            n=rs.getString("Name");

            add=rs.getString("Address");

            p=rs.getString("PhoneNumber");

            PersonInfo pInfo=new PersonInfo();

            pInfo.setName(n);

            pInfo.setAddress(add);

            pInfo.setpNumber(p);

            pList.add(pInfo);
        }
        return pList;

}

   public  void setPerson(PersonInfo person) throws SQLException{

   String sql = " INSERT INTO Person VALUES (?, ?, ?)";  

   PreparedStatement pStmt = conn.prepareStatement(sql);  

   String name = person.getName();   

   String add = person.getAddress(); 

   String p = person.getpNumber(); 

   pStmt.setString(1,name);

   pStmt.setString(2,add);

   pStmt.setString(3,p);

   pStmt.executeUpdate();

   if(conn!=null){

       conn.close();
   }

   }
}

PersonInfo.java

import java.io.*;

public class PersonInfo implements Serializable {

  private  String name,address;

   private String pNumber;

    public void setName(String n){

        name=n;

}
    public void setpNumber(String pn){

        pNumber=pn;
    }
   public void setAddress(String ad){

       address=ad;
   }
   public String getName(){

       return name;
   }
   public String getpNumber(){

       return pNumber;
   }
   public String getAddress(){

          return address;

   }
}

1 个答案:

答案 0 :(得分:1)

以下行中的import和class参数出现拼写错误:

<%@page import="Perosn.*"%>

<jsp:useBean id="pDAO" class="Perosn.PersonDAO" scope = "page" /> 

<jsp:useBean id="personBean" class="Perosn.PersonInfo" scope = "page" />

将“Perosn”更改为“Person”。