我在尝试向数据库添加信息时所做的JSP文件中存在问题。我一直在得到一个 org.apache.jasper.JasperException:JSP中的异常:错误,当我尝试执行它并指向此代码块时。我假设它与setAutoCommit语句有关,但我不确定,因为它也显示了nullPointerException。任何见解都会有所帮助。
<%@ page import="java.sql.*" %>
<%
String url = "jdbc:mysql://example:3306/database";
String username = "test";
String password = "test";
Connection conn = null;
Statement stm=null;
String classPath = "sun.jdbc.odbc.jdbc0dbcDriver";
try{
Class.forName(classPath);
conn = DriverManager.getConnection(url,username,password);
}catch(Exception exc){
out.println(exc.toString());
}
%>
<center><a href="example3-1.jsp">View Movies</a></center><br>
<%
String MovieTitle=request.getParameter("MovieTitle");
String MainActor=request.getParameter("MainActor");
String MainActress=request.getParameter("MainActress");
String Rating=request.getParameter("Rating");
String query1 = null;
query1 = "INSERT INTO MovieTitles (MovieTitle,MainActor,MainActress,Rating) VALUES('"+MovieTitle+"','"+MainActor+"','"+MainActress+"','"+Rating+"')";
conn.setAutoCommit(false);
stm = conn.createStatement();
try{
stm.executeUpdate(query1);
conn.commit();
out.println("<center><h2>A new movie has been added.</h2>");
out.println("<a href=example3-2.jsp>Add another Movie</a></center>");
}catch(Exception exc){
conn.rollback();
conn.setAutoCommit(true);
%>
<script>
alert("Entry failed. Please retry.");
</script>
<%}%>
<%
if(stm != null){ stm.close();}
conn.close();
%>
答案 0 :(得分:0)
// STEP:注册JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// STEP:打开连接
conn=DriverManager.getConnection(DB_URL, USER, PASS);
答案 1 :(得分:0)
您的conn对象未声明/初始化 -
Connection conn = DriverManager.getConnection(URL, USER, PASS);
链接以了解有关建立连接的更多信息 - http://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html
答案 2 :(得分:0)
create statement方法抛出SQLException
。在try
块
try {
stm = conn.createStatement();
............
............
}