0

(Sorry for the amoount Of code I have, but I really don't know how much is enough)

I'm having trouble inserting values into the mysql database. I'm using Jsp files instead of html files. I keep getting this error and I'm not sure what's causing it.

public class AddTo extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException, SQLException {
    response.setContentType("text/html;charset=UTF-8");

    {

        String name = request.getParameter("name");

        String dbURL = "jdbc:mysql://localhost:3306/movieDB";
        String username = "root";
        String password = "sund ";

        try {
            Connection conn = (Connection) DriverManager.getConnection(
            dbURL, username, password);

            } 

        catch (SQLException ex) {
            Logger.getLogger(AddTo.class.getName()).log(Level.SEVERE, null, ex);
            }

        String query = "INSERT INTO table1 " + "VALUES ('" + name + "')";
        Statement statement = null;

        statement = (Statement) conn.createStatement();


        statement.executeUpdate(query);


        Movie aMovie = new Movie(request.getParameter("name"));
        request.setAttribute("user", aMovie);
        String cartRadio = request.getParameter("cartRadio");

        if ( cartRadio.equalsIgnoreCase("cartSelect") ) {

            String url = "/jsp2.jsp";
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
            dispatcher.forward(request,response);   
        }

        if ( cartRadio.equalsIgnoreCase("listSelect")) {

            String url = "/jsp3.jsp";
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
            dispatcher.forward(request,response);
        }

        if ( cartRadio.equalsIgnoreCase("none")) {

            String url = "/jsp4.jsp";
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
            dispatcher.forward(request,response);
        }
    }
}

protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {
        processRequest(request, response);
    } catch (SQLException ex) {
        Logger.getLogger(AddTo.class.getName()).log(Level.SEVERE, null, ex);
    }
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {
        processRequest(request, response);
    } catch (SQLException ex) {
        Logger.getLogger(AddTo.class.getName()).log(Level.SEVERE, null, ex);
    }
}

private Object getServletContext() {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}

One error I keep getting is "incompatible typesrequired: com.mysql.jdbc.Statement found: java.sql.Statement" under where "statement = conn.createStatement();" is.

2 Answers 2

1

It appears you have the import statement

import com.mysql.jdbc.Statement;

instead of

import java.sql.Statement;

This has been stated many times on this site but you should consider using PreparedStatement instead to protect against SQL Injection attacks.

Sign up to request clarification or add additional context in comments.

1 Comment

I usually try to find similar questions before asking. Thank you for the extra links.
1

You should not need to cast, so don't. Also remove the import statement for the mysql Statement class - you shouldn't need that either.

Instead, first simply use the object without referring to it:

conn.createStatement().executeUpdate(query);

Once you get that working, only then consider holding a reference to the Statement object if you really need one.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.