โ๏ธ Database & DBMS/MySQL
[MySQL & Spring Boot] ํ์ ํ๋ก์ ํธ _2~5) ์๋ฒ ํฌํธ๋ฒํธ ์ง์ ~ ํ์๊ฐ์ ๋ก์ง ๊ตฌํ
A Lim Han
2024. 5. 26. 19:50
๐ ํ์ ํ๋ก์ ํธ _2~5) ์๋ฒ ํฌํธ๋ฒํธ ์ง์ ๋ถํฐ ํ์๊ฐ์ ๋ก์ง ๊ตฌํ๊น์ง
โป ๋ณธ ํ๋ก์ ํธ์ ๊ด๋ จ๋ ์ ๋ชจ๋ ๊ฒ์๋ฌผ์ ์ ๊ฐ์ธ ๊ณต๋ถ ๊ธฐ๋ก ๋ชฉ์ ์ผ๋ก ์์ฑ๋์์ผ๋ฉฐ, ์๋ฃ ์ถ์ฒ๋ '์ฝ๋ฉ๋ ์ํผ'๋์ [์คํ๋ง๋ถํธ ํ์ ํ๋ก์ ํธ] ์ ๋๋ค!
--> https://www.youtube.com/watch?v=RhM1bQ76Tv0&list=PLV9zd3otBRt5ANIjawvd-el3QU594wyx7
1. application.yml ํ์ผ์์ ์๋ ์ฝ๋๋ฅผ ํตํด ์๋ฒ ํฌํธ๋ฒํธ ์ง์
server:
port: 8081
2. HomeController.java ํ์ผ์์ ๊ธฐ๋ณธ ํ์ด์ง ์์ฒญ ๋ฉ์๋ ๊ตฌํ
package com.codingrecipe.member.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
// ๊ธฐ๋ณธ ํ์ด์ง ์์ฒญํ๋ ๋ฉ์๋ ๊ตฌํ
// Line 10์์ ํธ์ถ์ด ์ค๋ฉด Line 11์ ๋ด์ฉ์ด ๋ธ๋ผ์ฐ์ ์ ๋์์ง๋ค
@GetMapping("/")
public String index() {
return "index";
} // templates ํด๋์ index.html ์ ์ฐพ์๊ฐ๋ ์ฝ๋
}
3. index.html ํ์ผ ์์ฑ ํ ๊ธฐ๋ณธ ์ฝ๋ ์์ฑ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<h2>Hello Spring Boot!!</h2>
</body>
</html>
4. MemberApplication.java ํ์ผ ์คํ
package com.codingrecipe.member;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MemberApplication {
public static void main(String[] args) {
SpringApplication.run(MemberApplication.class, args);
}
}
์ข โก๏ธ ์ฐ ๋ก ์คํ
5. MemberController.java ํ์ผ ์์ฑ
package com.codingrecipe.member.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
public class MemberController {
// ํ์๊ฐ์
ํ์ด์ง ์ถ๋ ฅ ์์ฒญ
@GetMapping("/member/save")
public String saveForm() {
return "save";
}
}
6. save.html ์์ฑ
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>save</title>
<!-- jquery cdn -->
<script
src="https://code.jquery.com/jquery-3.6.3.min.js"
integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU="
crossorigin="anonymous"></script>
</head>
<body>
<!-- action์์ฑ: form์ ์์ฑํ ๋ฐ์ดํฐ๋ฅผ ์ด๋๋ก ๋ณด๋ผ์ง ์ง์ ํ๋ ์ญํ ์ํ -->
<form action="/member/save" method="post"> <!-- ์ ๋ฌ๋๋ ๋ด์ฉ์ด ๋ณด์ด์ง ์๊ฒ post ๋ฉ์๋ ์ฌ์ฉ -->
<!-- name์์ฑ: ์๋ฒ๋ก ์ ์กํ ๋ ๋ณ์์ด๋ฆ์ ์ญํ ์ ์ํ -->
์ด๋ฉ์ผ: <input type="text" name="memberEmail" id="memberEmail" onblur="emailCheck()"> <br>
<p id="check-result"></p>
๋น๋ฐ๋ฒํธ: <input type="password" name="memberPassword"> <br>
์ด๋ฆ: <input type="text" name="memberName"> <br>
<input type="submit" value="ํ์๊ฐ์
">
</form>
</body>
</html>