我有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;
}
}
答案 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”。