๐Ÿ–ฅ๏ธ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(2023-02-23)

๋ฆฌ์•ˆ๐Ÿคยท2023๋…„ 2์›” 23์ผ

์ž๋ฐ”๊ณต๋ถ€๊ธฐ๋ก

๋ชฉ๋ก ๋ณด๊ธฐ
20/21

๐Ÿ“Œ MVC ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ

  • ์ž๋ฐ”์˜ ํ”„๋ ˆ์ž„์›Œํฌ
  • ์ „์ž์ •๋ถ€ ํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ
  • ์žฅ์  : ์ž๋™ํ™”, ๋ฐ˜๋ณต ์ฝ”๋“œ ์ค„์–ด๋“ฌ, ํ”„๋กœ๊ทธ๋žจ ํ‹€, ์ˆ˜์ • ์ตœ์†Œํ™”
  • ์Šคํ”„๋ง ๋ฒ„์ „ => .jar => 3, 4, 5(์šฐ๋ฆฌ๋Š” 4์‚ฌ์šฉ)
  • ์Šคํ”„๋ง ํˆด ๋ฒ„์ „ => 3(์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ), 4(์Šคํ”„๋ง ๋ถ€ํŠธ)

<์Šคํ”„๋ง ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋‘ ๊ฐ€์ง€>

  1. ์ดํด๋ฆฝ์Šค + ์Šคํ”„๋ง ํˆด ์„ค์น˜

  2. ์Šคํ”„๋ง ํˆด ๋‹ค์šด
    => spring.io ํ™ˆํŽ˜์ด์ง€ ์ ‘์†

    =>spring.io - Projects - Spring Tool 4


=> https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3


=> Spring Tool Suite 3.9.18

https://download.springsource.com/release/STS/3.9.18.RELEASE/dist/e4.21/spring-tool-suite-3.9.18.RELEASE-e4.21.0-win32-x86_64.zip

c: ์••์ถœํ’€๊ธฐ => ์‹คํ–‰ ๋ฐ”ํƒ•ํ™”๋ฉด ๋ฐ”๋กœ๊ฐ€๊ธฐ=> sts1
C:\sts-bundle\sts-3.9.18.RELEASE

d: workspace_sts1 ํด๋”

=> ๋ฐ”ํƒ•ํ™”๋ฉด sts1์‹คํ–‰ ํ›„ workspace ์„ค์ •

ํ™˜๊ฒฝ์„ค์ • => ํ•œ๊ธ€์„ค์ • UTF-8
2. ์„œ๋ฒ„ ๊ธฐ๋ณธ ์„ค์ •
3. ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ


=> File - New - Spring Legacy Project


=> ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ : SpringProject
ย ย ย ย ย ํ…œํ”Œ๋ฆฟ ์„ ํƒ : Spring MVC Project


=> ํŒจํ‚ค์ง€ com.itwillbs.myweb

  • ๊ฐ€์ƒ์ฃผ์†Œ http://localhost:8080/myweb/
    => http : ์‚ฌ์šฉ์ž ์š”์ฒญํ•˜๋ฉด ์„œ๋ฒ„์— ๊ฐ€์„œ html์„ ๋ฐ›์•„์„œ ์ „๋‹ฌํ•ด์ฃผ๋Š” ํ†ต์‹ ๊ทœ์•ฝ(ํ†ต์‹ ๋ฐฉ์‹)
    => ์›น์„œ๋ฒ„ ์š”์ฒญ
    => ์›น์„œ๋ฒ„(์•„ํŒŒ์น˜) : ์š”์ฒญํ•œ ํŽ˜์ด์ง€( / ) ์ฐพ๊ธฐ
    => / ๊ฐ€์ƒ์ฃผ์†Œ (์ฃผ์†Œ๋งคํ•‘)
    => ์‹ค์ œ ํŽ˜์ด์ง€๋ฅผ ์ฐพ์•„์„œ jsp => html ๋ณ€๊ฒฝ(์ฒ˜๋ฆฌ) ์ž‘์—… ํ•„์š”
    => ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ (WAS, ํ†ฐ์บฃ, ์›น ์ปจํ…Œ์ด๋„ˆ, ์ปจํ…Œ์ด๋„ˆ, ์ฒ˜๋ฆฌ์„œ๋ฒ„) ์ „๋‹ฌ
    => 1) id=kim,.. ์š”์ฒญ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์ €์žฅ๊ณต๊ฐ„ ๋งŒ๋“ฌ
    ย ย ย ย ย ย ย ย ย ์ž๋ฐ” ๋‚ด์žฅ๊ฐ์ฒด(HttpServletRequest) -> ๊ฐ์ฒด์ƒ์„ฑ(request)
    ย ย ย ย ย ย ย ย -> ๊ธฐ์–ต์žฅ์†Œ๋ฅผ ํ• ๋‹น -> ์š”์ฒญ์ •๋ณด๋ฅผ ์ €์žฅ
    => ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ์ธ ์‘๋‹ต์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์ €์žฅ๊ณต๊ฐ„ ๋งŒ๋“ฌ
    ย ย ย ย ย ย ์ž๋ฐ” ๋‚ด์žฅ๊ฐ์ฒด(HttpServletResponse) -> ๊ฐ์ฒด์ƒ์„ฑ(response)
    ย ย ย ย ย ย ย ย -> ๊ธฐ์–ต์žฅ์†Œ๋ฅผ ํ• ๋‹น -> ์‘๋‹ต์ •๋ณด(pro1.jsp -> html๋กœ ๋ณ€๊ฒฝ)๋ฅผ ์ €์žฅ
    => 2) web.xml (์„ค์ •์ •๋ณด, ์ฒ˜๋ฆฌ๋‹ด๋‹น์ž ์ง€์ •) ๋ฌด์กฐ๊ฑด ์ฐธ์กฐ
    ย ย ย ย ย ย ย ย ย -> ๊ฐ€์ƒ์ฃผ์†Œ๋ฅผ ์‹ค์ œํŽ˜์ด์ง€ ์—ฐ๊ฒฐํ•˜๋Š” ์ฃผ์†Œ๋งคํ•‘ํ•˜๋Š” ์ฒ˜๋ฆฌ๋‹ด๋‹น์ž ์ง€์ •
    ย ย ย ย ย ย ย ย ย -> ๊ฐ€์ƒ์ฃผ์†Œ( / )์— ๋”ฐ๋ผ ์Šคํ”„๋ง ์ฃผ์†Œ๋งคํ•‘ ๋‹ด๋‹น์ž ์ง€์ •
    ย ย ย ย ย ย ย ย ย => /WEB-INF/spring/appServlet/servlet-context.xml
    ย ย ย ย ย ย ย ย ย => /WEB-INF/spring/root-context.xml
    => 3) ์ฒ˜๋ฆฌ๋‹ด๋‹น์ž(์ž๋ฐ” ๋‚ด์žฅ๊ฐ์ฒด HttpServlet => MemberController)๊ฐ€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋‹ด๋‹น์ž
    ย ย ย ย ย ย ย ย ย ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ์ธ ์‘๋‹ต์ •๋ณด๋ฅผ response์— ์ €์žฅ

    => ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ(response)๋ฅผ ์›น์„œ๋ฒ„์— ์ „๋‹ฌ
    => ์›น์„œ๋ฒ„๋Š” http์— ์ „๋‹ฌ
    => http๊ฐ€ pro1.jsp -> html๋กœ ๋ณ€๊ฒฝ๋œ ์‘๋‹ต์ •๋ณด๋ฅผ ๋ฐ›์•„์„œ ๋˜๋Œ์•„์˜ด
    => ์‚ฌ์šฉ์ž ์›น๋ธŒ๋ผ์šฐ์ €์— ์ „๋‹ฌํ•ด์„œ ์š”์ฒญํ•œ ํ™”๋ฉด๋ณด์ž„


  1. ์Šคํ”„๋ง MVC
  2. ๊ฐ์ฒด์ƒ์„ฑ ๋ฐฉ๋ฒ• => DI(Dependency Injection ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…)
  3. ๋””๋น„์—ฐ๊ฒฐ
  4. Mybatis ์ด์šฉํ•ด์„œ ๋””๋น„์—ฐ๊ฒฐ
  5. ํŒŒ์ผ์—…๋กœ๋“œ, Ajax
  6. AOP ๊ด€์ ์ง€ํ–ฅํ”„๋กœ๊ทธ๋žจ

0๊ฐœ์˜ ๋Œ“๊ธ€