BACK-END/Spring

[Spring] ajax 실습

단비_danbee 2020. 12. 21. 16:24

[1] 데이터베이스 구축

MySQL 8.0 Command Line Client

CREATE DATABASE AJAX;

USE AJAX;

CREATE TABLE USER(
USERNAME VARCHAR(20),
USERAGE INT,
USERGENDER VARCHAR(20),
USEREMAIL VARCHAR(20)
);

INSERT INTO USER VALUES('오렌지',29,'남자','orange@naver.com');
INSERT INTO USER VALUES('박커피',27,'여자','coffee@naver.com');
INSERT INTO USER VALUES('김미국',30,'여자','america@naver.com');
INSERT INTO USER VALUES('이행복',22,'남자','happy@naver.com');
INSERT INTO USER VALUES('김블랙',25,'여자','black@naver.com');

[2] Dynamic Web Project 로 Ajax 프로젝트 생성하고 부트스트랩다운로드

getbootstrap.com/docs/5.0/getting-started/download/

압축 풀고 css, js 폴더 WebContent에 넣어주고 index.jsp 만들어주기

 

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" href="css/bootstrap.css">
	<title>JSP AJAX</title>
	<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
	<script src="js/bootstrap.js"></script>
	
</head>
<body>
	<br>
	<div class="container">
		<div class="form-group row pull-right">
			<div class="col-xs-8">
				<input class="form-control" type="text" size="15">
			</div>
			<div class="col-xs-2">
				<button class="btn btn-primary" type="button">검색</button>
			</div>
			<table class="table" style="text-align: center; border:1px solid #dddddd">
				<thead>
					<tr>
						<th style="background-color:#fafafa; text-align:center;">이름</th>
						<th style="background-color:#fafafa; text-align:center;">나이</th>
						<th style="background-color:#fafafa; text-align:center;">성별</th>
						<th style="background-color:#fafafa; text-align:center;">이메일</th>
					</tr>
					<tr>
						<td>박단비</td>
						<td>26</td>
						<td>여자</td>
						<td>danbi@naver.com</td>
					</tr>
				</thead>
			</table>
		</div>
	</div>
</body>
</html>

 

[3] 데이터베이스에 생성한 컬럼명대로 DTO 만들어주기

 

package user;

public class User {
	private String userName;
	private int userAge;
	private String userGender;
	private String userEmail;
	
	
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public int getUserAge() {
		return userAge;
	}
	public void setUserAge(int userAge) {
		this.userAge = userAge;
	}
	public String getUserGender() {
		return userGender;
	}
	public void setUserGender(String userGender) {
		this.userGender = userGender;
	}
	public String getUserEmail() {
		return userEmail;
	}
	public void setUserEmail(String userEmail) {
		this.userEmail = userEmail;
	}
	
}

 

[4] 데이터베이스 연결 DAO 만들어주기

package user;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;


public class UserDAO {
	private Connection conn;
	private PreparedStatement pstmt;
	private ResultSet rs;
	
	// Ctrl + Shift + O 임포트
	
	public UserDAO() {
		try {
			String dbURL 		= "jdbc:mysql//localhost:3306/AJAX";
			String dbID			= "root";
			String dbPassword 	= "root";
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(dbURL, dbID, dbPassword);//.getConnection(dbURL, dbID, dbPassword);
		} catch(Exception e) {
			e.printStackTrace();
		}
	}//UserDAO end===================================================
	
	public ArrayList<User> search(String userName){
		String SQL = "SELECT * FROM USER WHERE userName LIKE ?";
		ArrayList<User> userList = new ArrayList<User>();
		try {
			pstmt = conn.prepareStatement(SQL);
			pstmt.setNString(1, userName);
			rs = pstmt.executeQuery();
			while(rs.next()) {
				User user = new User();
				user.setUserName(rs.getString(1));
				user.setUserAge(rs.getInt(2));
				user.setUserGender(rs.getString(3));
				user.setUserEmail(rs.getString(4));
				userList.add(user);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return userList;
	}// search end===================================================
	
}

 

[5] MySQL 커넥터 다운로드 받기

구글에 mysql-connector-java-5.1.4.jar 입력

로그인 하라는 페이지가 나오면 No thanks 를 눌러준다.

 

dev.mysql.com/downloads/connector/j/5.1.html

 

 

[6] 다운로드를 하면 mysql-installer-community-8.0.22.0.msi 이런 이름으로 확인 할 수 있다.

설치하는게 아니라 아까 만든 다이나믹 프로젝트 안의 lib 폴더에 드래그해서 넣어준다.

 

도움 되었던 다른 블로그 글

참고 1] myjamong.tistory.com/17

 

[Spring] 스프링 AJAX 여러유형 사용 예시 :: 마이자몽

AJAX(Asynchronous JavaScript and XML)은 여러 상황에서 사용되는데... 매번 사용할때마다 어떻게하는지 검색하고 애먹는경우가 많다. 그래서, 이 글만 보고 완벽하게 다시 사용할수 있도록 정리해볼려고

myjamong.tistory.com