使用JSP和接收错误的数据库

时间:2014-11-07 03:41:12

标签: java mysql jsp

我在尝试向数据库添加信息时所做的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();
%>

3 个答案:

答案 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

中添加createStatement()方法
try {
stm = conn.createStatement();
 ............
 ............

}