我的JSP代码在这里有什么问题... java文件成功运行但是当我通过JSP调用该方法时,它无法在调用obj.insertData()方法时抛出错误。
<%@ page import="lvsdummy.AddCustomer, java.sql.*"%>
<html>
<head>
<title>Welcome page</title>
</head>
<body>
<%
AddCustomer obj = new AddCustomer();
obj.openConn();
obj.insertData();
%>
</body>
</html>
这是Java文件 -
package lvsdummy;
import java.sql.*;
public class AddCustomer {
String url = "jdbc:mysql://localhost:3306/lvs_db";
String user_name = "root";
String password = "root";
Connection conn;
PreparedStatement st;
ResultSet rs;
public void openConn() {
try {
conn = DriverManager.getConnection(url, user_name, password);
} catch (SQLException e) {
e.getLocalizedMessage();
}
}
public String insertData() {
String value = "";
try {
st = conn.prepareStatement("SELECT * FROM customer");
//st.setString(1, firstname);
//st.setLong(2, mobile1);
rs = st.executeQuery();
if (rs.next()) {
value = "Success";
} else {
value = "Failed";
}
} catch (SQLException e) {
e.getLocalizedMessage();
}
return value;
}
public static void main(String[] args) {
AddCustomer obj = new AddCustomer();
obj.openConn();
System.out.println(obj.insertData());
}
}
这是错误 -
org.apache.jasper.JasperException: An exception occurred processing JSP page /addCustomer.jsp at line 10
7: <%
8: AddCustomer obj = new AddCustomer();
9: obj.openConn();
10: obj.insertData();
11: %>
12:
13: </body>
root cause
java.lang.NullPointerException
lvsdummy.AddCustomer.insertData(AddCustomer.java:26)
答案 0 :(得分:0)
那是你在那里写的一些非常讨厌的代码
答案 1 :(得分:0)
除了Lance Java:
您是否检查openConn()是否成功创建了连接?当你发现异常时并没有做太多的事情。您应该记录/打印它并抛出另一个例外,因为您可以在没有连接的情况下继续。
答案 2 :(得分:0)
如上所述,请尽量避免使用scriptlet。还有一点是你在哪里装载了驱动程序? 请尝试使用,如果还没有
Class.forName("com.mysql.jdbc.Driver");
&#13;
希望有所帮助