Я написал код который добавляет имя и фамилию студента в БД. Я все написал но почему то он только NULL выводит
Мой JSP
<%--
Document : index
Created on : 26.02.2019, 9:56:07
Author : Adil
--%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Mysql Database Connection using jsp, servlet and tomcat</title>
</head>
<body>
<h1>Student</h1>
<form action="firstdbserv" method="Post">
Name : <input type="text" name="name"><br><br>
Surname : <input type="text" name="surname"><br><br>
<input type="submit" value="Submit"><br>
</form>
</body>
</html>
Мой сервлет
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Adil
*/
public class firstdbserv extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet firstdbserv</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet firstdbserv at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
PrintWriter out = response.getWriter();
String name = request.getParameter("name");
String surname = request.getParameter("surname");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_db_newnew?useTimezone=true&serverTimezone=GMT","root","123456");
Statement st = conn.createStatement();
String sql = "INSERT INTO student (name, surname) VALUES( name,surname)";
st.executeUpdate(sql);
out.println("Data is Successfully Inserted into Student Table");
}catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
У тебя неверный способ передачи параметров. Их надо передавать через ?
.
Замени
Statement st = conn.createStatement();
String sql = "INSERT INTO student (name, surname) VALUES( name,surname)";
st.executeUpdate(sql);
на
String sql = "INSERT INTO student (name, surname) VALUES(?,?)";
try(PreparedStatement st = con.prepareStatement(sql)){
st.setString(1,name);
st.setString(2,surname);
st.executeUpdate();
};
P.S. Обрати внимание на конструкцию try-with-resource
. Создание Connection
желательно также заключать в такую конструкцию.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть SurfaceView с отрисокой изображений onDraw()Все работает отлично, подскажите как выполнить анимацию этого bitmap на канвасе
Уважаемые специалисты, бьюсь вот уже несколько часовЗадача, генерировать динамически список с помощью кастомного адаптера, проверять чтобы...