[Spring ์ž…๋ฌธ] 5. ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ - ์›น MVC ๊ฐœ๋ฐœ

2023. 9. 25. 17:02ยท๐Ÿฅ Web/โ›… Back-end | Spring
728x90

1. ํšŒ์› ์›น ๊ธฐ๋Šฅ - ํ™ˆ ํ™”๋ฉด ์ถ”๊ฐ€

  1. localhost:8080 ์œผ๋กœ ํ˜ธ์ถœ
  2. container์—์„œ ๋’ค์ง
  3. localhost:8080/ < ์ปจํŠธ๋กค๋Ÿฌ ์žˆ์Œ
  4. ์—ฐ๊ฒฐ!
package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
    @GetMapping("/")
    public String Home() {
        return "home";
    }
}

2. ํšŒ์› ์›น ๊ธฐ๋Šฅ - ๋“ฑ๋ก

package hello.hellospring.controller;

import hello.hellospring.domain.Member;
import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

@Controller
public class MemberController {
    private final MemberService memberService;
    @Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }

// get mapping -> ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ณด๋‚ด์ฃผ๋Š” ๊ฒฝ
    @GetMapping("/members/new")
    public String createForm() {
        return "members/createMemberForm";
    }
		
// post mapping -> ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ๋ฐ›๋Š” ๊ฒฝ์šฐ
    @PostMapping("members/new")
    public String create(MemberForm form) {
        Member member = new Member();
        member.setName(form.getName());

        memberService.join(member);

        return "redirect:/";
    }
}

name ๋ง๊ณ  ๋‹ค๋ฅธ ํ•„๋“œ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค์–ด์„œ ์•Œ์•„์„œ ๋“ค์–ด๊ฐ€๋Š”์ง€ ์‹คํ—˜ํ•ด๋ณด๊ธฐ

package hello.hellospring.controller;

public class MemberForm {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

3. ํšŒ์› ์›น ๊ธฐ๋Šฅ - ์กฐํšŒ

 
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
  <div>
    <table>
      <thead>
      <tr>
        <th>#</th>
        <th>์ด๋ฆ„</th>
      </tr>
      </thead>
      <tbody>
      <tr th:each="member : ${members}"> 
        <td th:text="${member.id}"></td>
        <td th:text="${member.name}"></td>
      </tr>
      </tbody>
    </table>
  </div>
</div> <!-- /container -->
</body>
</html>
  • ${members} ⇒ model๋กœ template engine์—์„œ ๋ฐ›์•„์˜จ ๊ทธ๊ฑฐ
  • each ์•ˆ์—์„œ ๋ฐ˜๋ณต๋ฌธ์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋จ
    • jQuery์˜ for each๋ž‘ ๋˜‘๊ฐ™์Œ
    • member.id์™€ member.name ์€ getter๋กœ ๋ฐ›์•„์˜ด
@GetMapping(value = "/members")
public String list(Model model) {
	List<Member> members = memberService.findMembers();
    model.addAttribute("members", members);
    return "members/memberList";
}
728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿฅ Web > โ›… Back-end | Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Spring ์ž…๋ฌธ] 4. ์Šคํ”„๋ง ๋นˆ๊ณผ ์˜์กด๊ด€๊ณ„  (0) 2023.09.25
[Spring ์ž…๋ฌธ] 3. ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ - ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ  (0) 2023.09.25
[Spring ์ž…๋ฌธ] 2. ์Šคํ”„๋ง ์›น ๊ฐœ๋ฐœ ๊ธฐ์ดˆ  (0) 2023.06.30
[Spring ์ž…๋ฌธ] 1. ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์„ค์ •  (0) 2023.06.29
'๐Ÿฅ Web/โ›… Back-end | Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Spring ์ž…๋ฌธ] 4. ์Šคํ”„๋ง ๋นˆ๊ณผ ์˜์กด๊ด€๊ณ„
  • [Spring ์ž…๋ฌธ] 3. ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ - ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ
  • [Spring ์ž…๋ฌธ] 2. ์Šคํ”„๋ง ์›น ๊ฐœ๋ฐœ ๊ธฐ์ดˆ
  • [Spring ์ž…๋ฌธ] 1. ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์„ค์ •
darly213
darly213
ํ˜ธ๋ฝํ˜ธ๋ฝํ•˜์ง€ ์•Š์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด๋ณด์ž
  • darly213
    ERROR DENY
    darly213
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (97)
      • ๐Ÿฌ ML & Data (50)
        • ๐ŸŒŠ Computer Vision (2)
        • ๐Ÿ“ฎ Reinforcement Learning (12)
        • ๐Ÿ“˜ ๋…ผ๋ฌธ & ๋ชจ๋ธ ๋ฆฌ๋ทฐ (8)
        • ๐Ÿฆ„ ๋ผ์ดํŠธ ๋”ฅ๋Ÿฌ๋‹ (3)
        • โ” Q & etc. (5)
        • ๐ŸŽซ ๋ผ์ดํŠธ ๋จธ์‹ ๋Ÿฌ๋‹ (20)
      • ๐Ÿฅ Web (21)
        • โšก Back-end | FastAPI (2)
        • โ›… Back-end | Spring (5)
        • โ” Back-end | etc. (9)
        • ๐ŸŽจ Front-end (4)
      • ๐ŸŽผ Project (8)
        • ๐ŸงŠ Monitoring System (8)
      • ๐Ÿˆ Algorithm (0)
      • ๐Ÿ”ฎ CS (2)
      • ๐Ÿณ Docker & Kubernetes (3)
      • ๐ŸŒˆ DEEEEEBUG (2)
      • ๐ŸŒ  etc. (8)
      • ๐Ÿ˜ผ ์‚ฌ๋‹ด (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ๋ฐฉ๋ช…๋ก
    • GitHub
    • Notion
    • LinkedIn
  • ๋งํฌ

    • Github
    • Notion
  • ๊ณต์ง€์‚ฌํ•ญ

    • Contact ME!
  • 250x250
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
darly213
[Spring ์ž…๋ฌธ] 5. ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ - ์›น MVC ๊ฐœ๋ฐœ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”