데이터베이스 입력은 사용자로부터 정보를 받아 그 정보를 데이터베이스에 저장하는 프로세스입니다. JSP와 JDBC를 사용하여 이를 수행할 수 있습니다. 아래는 사용자로부터 데이터를 입력받아 데이터베이스에 저장하는 두 가지 예제입니다.
예제 1: 사용자 입력을 받아 데이터베이스에 저장
이 예제에서는 사용자로부터 이름과 이메일을 입력 받아 데이터베이스의 특정 테이블에 저장합니다.
inputForm.jsp
<!DOCTYPE html>
<html>
<head>
<title>User Data Input</title>
</head>
<body>
<form action="saveData.jsp" method="post">
Name: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
saveData.jsp
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Save User Data</title>
</head>
<body>
<%
String name = request.getParameter("name");
String email = request.getParameter("email");
// 데이터베이스 설정 정보
String url = "jdbc:mysql://localhost:3306/YourDatabase"; // 데이터베이스 URL
String user = "root"; // 데이터베이스 사용자 이름
String password = "rootpassword"; // 데이터베이스 비밀번호
try {
// 데이터베이스 연결
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, password);
// SQL 쿼리 준비
String sql = "INSERT INTO users (name, email) VALUES (?, ?)";
PreparedStatement pstmt = con.prepareStatement(sql);
// 파라미터 설정
pstmt.setString(1, name);
pstmt.setString(2, email);
// 쿼리 실행
int rows = pstmt.executeUpdate();
out.println("Data has been inserted successfully.");
// 자원 해제
pstmt.close();
con.close();
} catch(Exception e) {
e.printStackTrace();
}
%>
</body>
</html>
관련 전문용어 설명
- JDBC (Java Database Connectivity): 자바 애플리케이션에서 데이터베이스에 접근하기 위한 API입니다. 다양한 SQL 데이터베이스에 대한 접근을 제공합니다.
- PreparedStatement: SQL 쿼리를 표현하는 객체로, 쿼리에 파라미터를 동적으로 설정할 수 있습니다. SQL 인젝션 공격을 방지하는 데 유용합니다.
- executeUpdate(): 데이터베이스에 쓰기 작업(INSERT, UPDATE, DELETE 등)을 수행할 때 사용하는 메소드입니다. 영향을 받은 행의 수를 반환합니다.
'jsp' 카테고리의 다른 글
이미지 업로드: 웹 페이지에서 이미지를 업로드하고 표시하는 방법을 다루는 예제. (0) | 2023.12.25 |
---|---|
이미지 표시: JSP 페이지에서 이미지를 표시하는 방법을 배우는 예제. (0) | 2023.12.25 |
쿼리 문자열 다루기: URL에서 쿼리 문자열을 추출하고 파싱하는 예제. (0) | 2023.12.25 |
페이지 리다이렉션: 다른 페이지로 리다이렉트하는 방법을 배우는 예제. (0) | 2023.12.25 |
에러 페이지 설정: JSP에서 예외 처리 페이지를 설정하는 방법을 다루는 예제. (0) | 2023.12.25 |