SOS!崩溃了一下午加一晚上的问题,请高手指点迷津!
我弄一个用户注册的业务,建了一个连接数据库的javaBean(OracleConnBean)和一个存储用户信息的javaBean(PersonBean),然后用jsp处理请求并通过javaBean连接Oracle,并发送插入语句,具体如下:
1.jsp页面核心部分:
<body>
<jsp:useBean id="pb" class="example.PersonBean" />
<jsp:setProperty name="pb" property="*" />
<jsp:useBean id="ocb" class="example.OracleConnBean" />
<%
String sql = "insert into person values ('" + pb.getAccount()
+ "','" + pb.getName() + "','" + pb.getPass() + "','"
+ pb.getSex() + "','" + pb.getPhone() + "','"
+ pb.getEmail() + "')";
//t.print(sql);
ocb.getConnection("mary", "mary");
ocb.executeUpdate(sql);
ocb.closePstmt();
ocb.closeConn();
out.print("success!!");
%>
</body>
2.OracleConnBean的内容:
public class OracleConnBean {
public OracleConnBean() {
}
private Connection conn = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
public void getConnection(String user, String pass) {
String url = "jdbc:oracle:thin:@localhost:1521:inspur";
try {
Class.forName("oracle.jdbc.driver.oracledriver");
conn = DriverManager.getConnection(url, user, pass);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public void executeUpdate(String sql) {
try {
pstmt = conn.prepareStatement(sql);
pstmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void closePstmt() {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void closeConn() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3.PersonBean的内容:
public class PersonBean {
private String account;
private String name;
private String pass;
private String sex;
private String phone;
private String email;
public PersonBean() {
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
最后,我在数据库中创建的表中的字段全是varcha2类型的。
执行了好几次都报错:org.apache.jasper.JasperException: Exception in JSP: /CheckRegister.jsp:35
32: <jsp:useBean id="ocb" class="example.OracleConnBean" />
33: <%
34: ocb.getConnection("mary", "mary");
35: ocb.executeUpdate(sql);
36: ocb.closePstmt();
37: ocb.closeConn();
38: out.print("success!!");
请大家看看哪儿出问题了,小弟不胜感激!