Проблема с вставкой данных в базу данных 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");
}
}