Yukarıdaki gibi bir Login sayfası ile MySQL veri tabanına bağlantı kurarak kayıt atabiliriz.
Öncelikle yukarıdaki gibi bir Login sayfası oluşturmak için ilk olarak ide de “Dynamic Web Project” oluşturmamız gerekiyor.
Daha sonra projemizde “LoginForm.html” sayfasını oluşturuyoruz.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Page</title>
</head>
<body>
<form action="/LoginServlet/LoginServlet" method="post">
<b>SIGN UP </b> <br /><br />
<input type="text" name="firstName" placeholder="First Name:" required><br /><br />
<input type="text" name="lastName" placeholder="Last Name:" required><br /><br />
<input type="text" name="age" placeholder="Age:" required><br /><br />
<input type="email" name="email" placeholder="email:" required><br /><br />
<input type="password" name="password" placeholder="Password:" required><br /><br />
<input class="button" type="submit" value="Sign up">
</form>
</body>
</html>
Daha sonra LoginServlet.java isimli bir class oluşturuyoruz.
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
String dbDriver = "com.mysql.cj.jdbc.Driver";
String dbURL = "jdbc:mysql://localhost/";
// Database name to access
String dbName = "students";
String dbUsername = "root";
String dbPassword = "";
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=UTF-8");
// Formdan gönderilen verileri al
String firstName = req.getParameter("firstName");
String lastName = req.getParameter("lastName");
int age = Integer.parseInt(req.getParameter("age"));
String email = req.getParameter("email");
String password = req.getParameter("password");
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet;
try {
Class.forName(dbDriver);
connection = DriverManager.getConnection(dbURL + dbName,
dbUsername,
dbPassword);
String sql = "INSERT INTO students (firstName, lastName, age, email, password) VALUES (?, ?, ?, ?, ?)";
statement = connection.prepareStatement(sql);
// Öğrenci bilgilerini veritabanına ekle
//String sql = "INSERT INTO students (first_name, last_name, age, email, password) VALUES (?, ?, ?, ?, ?)";
statement.setString(1, firstName);
statement.setString(2, lastName);
statement.setInt(3, age);
statement.setString(4, email);
statement.setString(5, password);
statement.executeUpdate();
System.out.println("Kayıt eklendi");
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("Kayıt eklendi :)");
} catch (Exception e) {
e.printStackTrace();
System.out.println("Kayıt olmadı, Bir Sorun VAR!!!");
}
}
}
Daha sonra MySQL veri tabanımız da “students” adında tablomuzu oluşturuyoruz.
olmazsa olmaz olarak Java – Mysql bağlantımız için “mysql-connector jar” dosyasını, proje kütüphanemize eklememiz gerekmektedir. Bunun için Google a “ mysql jdbc driver “ yazarak aratalım ve bilgisayarımıza indirip “mysql-connector jar” dosyasını kütüphaneye ekliyoruz.
Son olarak “LoginForm.html” sayfasını Run ederek projemizi çalıştırıyoruz.
Çalıştırdıktan sonra tarayıcıda çıkan login sayfasını bilgileri girdikten sonra aşağıdaki gibi students tablosuna kayıt olarak düşecektir.
Konuyla ilgili github linki: https://github.com/ergunalper/LoginServlet