개발/Servlet/JSP 게시판 만들기

[서블릿 Servlet JSP 게시판 만들기] 06. 회원가입 기능 구현 3 - DB 연동

Monsh 2021. 2. 12. 22:15
반응형

본 시리즈의 이전 게시글 목록

[서블릿 Servlet JSP 게시판 만들기] 01. 개발 환경 구성
[서블릿 Servlet JSP 게시판 만들기] 02. Server/Web 프로젝트 생성

[서블릿 Servlet JSP 게시판 만들기] 03. Preferences 설정

[서블릿 Servlet JSP 게시판 만들기] 04. 회원가입 기능 구현 1 - JSP

[서블릿 Servlet JSP 게시판 만들기] 05. 회원가입 기능 구현 2 - MariaDB 설치

 

1. Connector 다운로드 / 추가

https://mariadb.com/downloads/#connectors

 

Download MariaDB - Select Version / OS | MariaDB

Download MariaDB Community Server, Cloud (SkySQL), ColumnStore and MaxScale. Select version and operating system.

mariadb.com

Java 8 connector를 다운로드 받습니다.

 

MyProject -> WebContent -> WEB-INF -> lib 폴더 안에

다운로드 하신 mariadb-java-client-*.jar 파일을 넣습니다. (꼭 lib 폴더 안에 넣어야 합니다.)

 

MyProject -> WebContent에 JSP File을 새로 하나 생성합니다.

db_connection.jsp 파일을 다음과 같이 수정합니다.

<%@ page import="java.sql.*" %>

<%
	Connection conn = null;

	String url = "jdbc:mysql://localhost:3306/my_project";
	String user ="root";
	String dbPassword="1234";
	
	Class.forName("org.mariadb.jdbc.Driver");
	conn = DriverManager.getConnection(url, user, dbPassword);

%>

localhost:3306/ 다음에는 본인이 생성한 database의 이름을 넣습니다.

본 시리즈에서는 my_project를 사용 중입니다.


2. Table 생성

1) HeidiSQL을 열고

2) my_project를 클릭

3) 우측에 쿼리 탭을 클릭

4) 아래과 같이 입력

5) F9

 

signup_process.jsp 파일을 다음과 같이 수정합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sign Up Process</title>
</head>
<body>
<%@ include file="db_connection.jsp" %>
<%

	request.setCharacterEncoding("UTF-8");

	String id = request.getParameter("id");
	String password = request.getParameter("password");
	String name = request.getParameter("name");
	String tel1 = request.getParameter("tel1");
	String tel2 = request.getParameter("tel2");
	String tel3 = request.getParameter("tel3");
	String tel = tel1 + "-" + tel2 + "-" + tel3;
	String age = request.getParameter("age");
	
	PreparedStatement pstmt = null;
	
	try {
		String sql = "insert into user(u_id,u_pw,u_name,u_tel,u_age) values(?,?,?,?,?)";
		pstmt = conn.prepareStatement(sql);
		pstmt.setString(1, id);
		pstmt.setString(2, password);
		pstmt.setString(3, name);
		pstmt.setString(4, tel);
		pstmt.setString(5, age);
		pstmt.executeUpdate();
	} catch(SQLException ex) {
		System.out.println("SQLException : "+ex.getMessage());
	} finally {
		if(pstmt != null) {
			pstmt.close();
		}
		if(conn != null) {
			conn.close();
		}
	}
%>
<h3>Registration success</h3>
</body>
</html>

3. 테스트

signup.jsp 파일을 Run on Server

Registration success. 확인 후, HeidiSQL 확인

 

DB에 기록 완료

반응형