There are 2 HTML forms

<input type="text" name="login" size="45" /> 

and

 <input type="password" name="password" size="45" /> 

Database on MySQL Server , where there are similar fields login varchar (45) NOT NULL and password varchar (45) NOT NULL .

Tell me how to write HTML form data into MySQL using JDBC . PHP does not offer other Java technologies.

  • Use the tilted single quote for inline code: `but not ' - AivanF.
  • And what is the actual problem, how to get the data out of the form or how to form a query in the database? Can show the code that you have? - Kirill Stoianov
  • Cyril, I pulled the data like this: `var a = document.registration.elements [0] .value; var b = document.registration.elements [1] .value; - Yegor Vyazemsky
  • But how exactly to write to the database? - Yegor Vyazemsky

2 answers 2

Fast implementation using a servlet:

html

 <html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body id="body"> <form method="post" action="TheFirstServlet"> <input name="login"> <input name="password"> <button>Записать</button> </form> </body> </html> 

TheFirstServlet

 public class FirstServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); String login = request.getParameter("login"); String password = request.getParameter("password"); insert(login, password); PrintWriter printWriter; try { printWriter = response.getWriter(); printWriter.println("Ну, попытались"); } catch(IOException exc) {} } public void insert(String login, String password) { Connection conn = null; Statement stmt = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc.url", "jdbc.login", "jdbc.password"); stmt = conn.createStatement(); String sql = "INSERT INTO NAME_TABLE (`login`,`password`)" + "VALUES ('" + login + "','" + password + "')"; stmt.executeUpdate(sql); } catch (SQLException | ClassNotFoundException exc) { exc.printStackTrace(); System.out.println("Не записал"); } finally { try { if(conn!=null) conn.close(); if(stmt!=null) stmt.close(); } catch (SQLException exc) {} } } 

Well, somehow so simple.

  • Very grateful for the help. Thank. - Yegor Vyazemsky

Here is the first example that suits your task:

 /STEP 1. Import required packages import java.sql.*; public class JDBCExample { // JDBC driver name and database URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/STUDENTS"; // Database credentials static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ //STEP 2: Register JDBC driver Class.forName("com.mysql.jdbc.Driver"); //STEP 3: Open a connection System.out.println("Connecting to a selected database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("Connected database successfully..."); //STEP 4: Execute a query System.out.println("Inserting records into the table..."); stmt = conn.createStatement(); String sql = "INSERT INTO Registration " + "VALUES (100, 'Zara', 'Ali', 18)"; stmt.executeUpdate(sql); sql = "INSERT INTO Registration " + "VALUES (101, 'Mahnaz', 'Fatma', 25)"; stmt.executeUpdate(sql); sql = "INSERT INTO Registration " + "VALUES (102, 'Zaid', 'Khan', 30)"; stmt.executeUpdate(sql); sql = "INSERT INTO Registration " + "VALUES(103, 'Sumit', 'Mittal', 28)"; stmt.executeUpdate(sql); System.out.println("Inserted records into the table..."); }catch(SQLException se){ //Handle errors for JDBC se.printStackTrace(); }catch(Exception e){ //Handle errors for Class.forName e.printStackTrace(); }finally{ //finally block used to close resources try{ if(stmt!=null) conn.close(); }catch(SQLException se){ }// do nothing try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); }//end finally try }//end try System.out.println("Goodbye!"); }//end main }//end JDBCExample 
  • The fact is that specific values ​​are written here, not var variables, the whole line is also entered into the array, and not specific values ​​in specific fields, indicating the numbers that I do not need, because the user_id field already has the AUTO_INCREMENT parameter in the database . - Yegor Vyazemsky
  • @ YegorVyazemsky, do you not mean js for an hour? - dirkgntly
  • Exactly. And what, he is not suitable for this task? - Egor Vyazemsky
  • @ YegorVyazemsky OK, then where is java and JDBC? - dirkgntly
  • @dDevil I think I understand what the error is. I remember, "Java to JavaScript - is ham to hamster". Well, how can this be implemented in Java? Reading from an HTML form and writing a DB? - Egor Vyazemsky