Не могли бы вы помочь мне решить это? Я не могу найти, что происходит. Я делаю веб-приложение, используя Java Сервлеты и JSP.
. Когда я пытаюсь добавить продукт, это отображается в URL: http://localhost: 8080 / ProductMaintenanceMdy / add? action = add & code = 8768 & description = mylove & price = 15.55 & Add + product = Submit
Поскольку в нем отображаются данные, введенные в URL, это означает, что форма в addProduct. jsp работает, но не работает. не сохраняете продукт в базе данных.
Не могли бы вы проверить, правильны ли мой код сервлета, код отображения и функция запроса для добавления? Не будь груб, я новичок.
// Код сервлета для добавления продукта
else if (action.equals("addProducts")) // this is for action inside display
{
url= "/addProducts.jsp";
}
else if (action.equals("add")) //this is for add inside sddProducts
{
String code= request.getParameter("code");
String description= request.getParameter("description");
Double price=Double.parseDouble(request.getParameter("price"));
Product p= new Product();
p.setCode(code);
p.setDescription(description);
p.setPrice(price);
ProductDB.insertProduct(p); //implemented it inside productDB.java
url="/addProducts.jsp";
}
// Web xml раздел отображения для добавления
<servlet-mapping>
<servlet-name>ProdMaintAppServlet</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
// метод внутри ProductDB (класс для функций запросов к базе данных)
public static void insertProduct(Product p) {
ConnectionPool pool = ConnectionPool.getInstance();
Connection connection = pool.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String query=" INSERT INTO productsMaintenance VALUES( '"+ p.getCode()+"','"+ p.getDescription()+"','"+ p.getPriceCurrencyFormat()+"' ) ";
try {
ps = connection.prepareStatement(query);
rs = ps.executeQuery();
}
catch (SQLException e) {
System.err.println(e);
} finally {
DBUtil.closeResultSet(rs);
DBUtil.closePreparedStatement(ps);
pool.freeConnection(connection);
}
}