Проблема с вставкой данных в базу данных Derby - PullRequest
1 голос
/ 23 марта 2020

Проблема с вставкой данных в базу данных Derby

Я использую jsp и сервлет, но я пробовал так много раз, но все еще не могу вставить данные в базу данных, отображается только
Список студентов со счетом:

и ничего больше, он должен вставить пользовательский ввод в базу данных, соединение с базой данных установлено, тип данных id - число, метки - int, имя - varchar.
Нет ошибок в программе. Я также добавляю javaDB Driver в библиотеки, я просто не понимаю, что не так.

index. jsp

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Student Score</title>
        </head>
        <body>
            <h1>Welcome to Student Score Application</h1>

            <form method="post" action="Result.jsp">
                <input type="submit" value="View Data">
            </form>

            <br>
            <form method="post" action="servletAdd">
                ID:<input type="text" name="ID"><br>
                Name:<input type="text" name="name"><br>
                Marks:<input type="text" name="marks"><br>

                <input type="submit" value="Add">
                <input type="reset" value="Clear">
            </form>
        </body>
    </html>

Результат. jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Result</title>
    </head>
    <body>
        <h1>List of students with score:</h1>

        <%@page import="java.sql.*"%>

        <%
            Class.forName("org.apache.derby.jdbc.ClientDriver");

         Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/abc","abc","abc");

         Statement stmt = con.createStatement();

         String sql = "SELECT * FROM ABC";

         ResultSet rs = stmt.executeQuery(sql);

         while(rs.next()){

             String id = rs.getString("id");
             String name = rs.getString("name");
             int marks = rs.getInt("marks");

         out.println("ID: "+ id);
         out.println("Name: "+name);
         out.println("Marks: "+marks);
         %><br>
     <%
         }
         //STEP 6:
         rs.close();
         stmt.close();
         con.close();
            %>  
    </body>
</html>

servletAdd. java

import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet;

public class servletAdd extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String JDBC_DRIVER = "org.apache.derby.jdbc.ClientDriver";
        String DB_URL = "jdbc:derby://localhost:1527/abc";

        String USER ="abc";
        String PASS ="abc";
        Connection conn = null;
        Statement stmt = null;

        String id = request.getParameter("ID");
        String name = request.getParameter("name");
        int marks = Integer.parseInt(request.getParameter("marks"));

        try{

            Class.forName(JDBC_DRIVER);

            conn = DriverManager.getConnection("jdbc:derby://localhost:1527/abc",USER,PASS);

            stmt = conn.createStatement();
            String sql = "INSERT into ABC values"+"("+ "'"+ id +"'"+ ","+ name + ","+ "'"+ marks+"'"+")";

            stmt.executeUpdate(sql);

            stmt.close();
            conn.close();


        }catch(Exception e){
            e.printStackTrace();
        }

        response.setContentType("text/html;charset=UTF-8");

        response.sendRedirect(request.getContextPath()+"/Result.jsp");    
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...