2022 01 15&22 - oneso123456789/2022 GitHub Wiki

์‹ค์Šต ์™ธ ๋‚ด์šฉ

controller ํŒจํ‚ค์ง€์— SampleController ํด๋ž˜์Šค์— @Log4j์–ด๋…ธํ…Œ์ด์…˜์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜ ๋ฐœ์ƒ org.apache.log4j.Logger cannot be resolved to a type

ํ•ด๊ฒฐ๋ฐฉ๋ฒ• pom.xml์˜ log4j๋ถ€๋ถ„ ์Šค์ฝ”ํ”„ ๋ถ€๋ถ„์„ ์ฃผ์„์ฒ˜๋ฆฌํ•จ </exclusions>
<!-- <scope>runtime</scope> -->
</dependency>
runtime ์Šค์ฝ”ํ”„๋Š” ์˜์กด๊ด€๊ณ„๊ฐ€ ์ปดํŒŒ์ผ์‹œ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์ง€๋งŒ, ์‹คํ–‰์‹œ ํ•„์š”ํ•˜๋‹ค๊ณ  ๋ช…์‹œํ•˜๋Š”๊ฒƒ
๋”ฐ๋ผ์„œ ์‹คํ–‰ ์‹œ์™€ ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ํŒจ์Šค์— ์†ํ•˜์ง€๋งŒ, ์ปดํŒŒ์ผ ํด๋ž˜์Šค ํŒจ์Šค์—” ์†ํ•˜์ง€ ์•Š์Œ
์ง€๊ธˆ๊นŒ์ง€ log4j๋Š” ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์ƒ์—์„œ๋งŒ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ์ด๋ฒˆ์—” log4j๋ฅผ main์ชฝ์—์„œ ํ˜ธ์ถœํ–ˆ๊ธฐ์—
์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์•ผ๊ธฐ๋จ. ์œ„ ๋งํฌ์˜ ์Šค์ฝ”ํ”„ ๋‚ด์šฉ ๋‹ค ์ˆ™์ง€ํ•˜๋Š”๊ฒŒ ์ข‹์•„๋ณด์ž„^์˜ค^
https://yjh5369.tistory.com/entry/Maven-Dependency%EC%97%90%EC%84%9C-scope%EC%9D%98-%EC%9D%98%EB%AF%B8

22์ผ ๋ณต๊ท€ ํ•‘๊ณ„๋ฅผ ์ข€ ๋ฐ์ž๋ฉด ํ•œ๋™์•ˆ ์•„ํ”„๊ณ  ์ผ์ด ๋งŽ์•„์„œ ๊ณต๋ถ€๊ฐ€ ์•ˆ์žกํ˜”์Œ ๋‹ค์‹œ ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ์Œ..

DTO๋ž€

Data Transfer Object๋ฅผ ๋œปํ•˜๋ฉฐ ๊ณ„์ธต๊ฐ„ ์ด๋™์„ ์œ„ํ•œ ์ž๋ฐ” bins๋‹ค
๊ณ„์ธต๊ฐ„์ด๋ž€ Controller, View, Business Layer, Persistent Layer์ด๋ฉฐ ์ด ๊ณ„์ธต๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•œ ๊ฐ์ฒด๊ฐ€ ๋ฐ”๋กœ DTO๋ฉฐ VO๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

๊ณ„์ธต๊ตฌ์กฐ์™€ ์„ค๋ช…์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์ž https://postitforhooney.tistory.com/entry/Spring-MVC-%ED%8C%A8%ED%84%B4%EC%97%90%EC%84%9C%EC%9D%98-5%EA%B0%80%EC%A7%80-%EA%B3%84%EC%B8%B5%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A0%95%EB%B3%B4-%ED%8D%BC%EC%98%B4

Array ์‚ฌ์šฉ๋ฒ•์„ ๊นŒ๋จน์Œ..

java arrays ๋“ฑ ๊ธฐ๋ณธ์„ ๋‹ค์‹œ ๊ณต๋ถ€ํ•˜๋Š”๊ฒŒ ์ข‹์„๊บผ ๊ฐ™์Œ
๋ชจ๋“ ๊ฒƒ์„ ์•Œ์ˆœ ์—†์ง€๋งŒ ์ค‘์š”ํ•œ๊ฑด ๊ธฐ์–ตํ•ด์•ผํ•จ

์Šคํ”„๋ง MVC์˜ Controller

์Šคํ”„๋ง MVC๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ž‘์„ฑ๋˜๋Š” Controller๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ์Œ

  • HttpServletRequest, HttpServletResponse๋ฅผ ๊ฑฐ์˜ ์‚ฌ์šฉํ•  ํ•„์š”์—†์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฒ˜๋ฆฌ, ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๋ฆฌํ„ด ํƒ€์ž… ์‚ฌ์šฉ๊ฐ€๋Šฅ
  • GET ๋ฐฉ์‹, POST ๋ฐฉ์‹ ๋“ฑ ์ „์†ก ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
  • ์ƒ์†/์ธํ„ฐํŽ˜์ด์Šค ๋ฐฉ์‹ ๋Œ€์‹ ์— ์–ด๋…ธํ…Œ์ด์…˜๋งŒ์œผ๋กœ๋„ ํ•„์š”ํ•œ ์„ค์ • ๊ฐ€๋Šฅ

๋‹ค๋ฅธ ํ”„๋ ˆ์ž„ ์›Œํฌ๋ž‘ ๋‹ค๋ฅด๊ฒŒ ์Šคํ”„๋ง MVC๋Š” ์–ด๋…ธํ…Œ์ด์…˜์„ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์—
์˜ˆ์ œ ์ž‘์„ฑ์‹œ ๊ฐ ์–ด๋…ธํ…Œ์ด์…˜์˜ ์˜๋ฏธ์— ๋Œ€ํ•˜์—ฌ ์ตœ๋Œ€ํ•œ ์ดํ•ดํ•˜๋ฉด์„œ ํ•ด์•ผํ•จ

@Controller, @RequestMapping

ํ”„๋กœ์ ํŠธ๋‚ด com.crow.controller ํŒจํ‚ค์ง€ํด๋”์— SampleController๋ผ๋Š” ์ด๋ฆ„์˜ ํด๋ž˜์Šค ์ž‘์„ฑ
SampleController์˜ ํด๋ž˜์Šค ์„ ์–ธ๋ถ€์—๋Š” @Controller๋ผ๋Š” ์Šคํ”„๋ง MVC์—์„œ์‚ฌ์šฉํ•˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜์„ ์ ์šฉํ•˜๊ณ  ์žˆ์Œ.

์ง€์ • ํŒจํ‚ค์ง€ ์Šค์บ”

์ž‘์„ฑ๋œ SampleController ํด๋ž˜์Šค๋Š” ์ž๋™์œผ๋กœ ์Šคํ”„๋ง ๊ฐ์ฒด(Bean)์œผ๋กœ ๋“ฑ๋ก๋˜๋Š”๋ฐ
servlet-context.xml์— context:component-scan์ด๋ผ๋Š” ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•ด์„œ ์ง€์ •๋œ
ํŒจํ‚ค์ง€๋ฅผ ์Šค์บ”ํ•˜๋„๋ก ์„ค์ •๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์ž„.
ํ•ด๋‹น ํŒจํ‚ค์ง€์— ์„ ์–ธ๋œ ํด๋ž˜์Šค๋ฅผ ์กฐ์‚ฌํ•˜๋ฉด์„œ ์Šคํ”„๋ง์—์„œ ๊ฐ์ฒด(Bean) ์„ค์ •์— ์‚ฌ์šฉ๋˜๋Š”
์–ด๋…ธํ…Œ์ด์…˜๋“ค์„ ๊ฐ€์ง„ ํด๋ž˜์Šค๋“ค์„ ํŒŒ์•…ํ•˜๊ณ  ํ•„์š”ํ•˜๋‹ค๋ฉด ์ด๋ฅผ ๊ฐ์ฒด๋กœ ์ƒ์„ฑํ•ด์„œ ๊ด€๋ฆฌํ•จ
<context:component-scan base-package="com.crow.controller" />
SampleController ํด๋ž˜์Šค๊ฐ€ ์Šคํ”„๋ง์—์„œ ๊ด€๋ฆฌ๋˜๋ฉด ํด๋ž˜์Šค ์˜†์— ์ž‘๊ฒŒ 'S'๋ชจ์–‘ ์•„์ด์ฝ˜์ด ์ถ”๊ฐ€๋จ

ํด๋ž˜์Šค ์„ ์–ธ๋ถ€์—๋Š” @Controller์™€ ํ•จ๊ป˜ @RequestMapping์„ ๋งŽ์ด ์‚ฌ์šฉ

@RequestMapping ์–ด๋…ธํ…Œ์ด์…˜

@RequestMapping์€ ํ˜„์žฌ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๋ฉ”์„œ๋“œ๋“ค์˜ ๊ธฐ๋ณธ์ ์ธ URL ๊ฒฝ๋กœ๊ฐ€ ๋จ.
์˜ˆ๋ฅผ๋“ค์–ด SampleController ํด๋ž˜์Šค๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด '/sample/*'์ด๋ผ๋Š” ๊ฒฝ๋กœ๋ฅผ
์ง€์ •ํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ URL์€ ๋ชจ๋‘ SampleController์—์„œ ์ฒ˜๋ฆฌ๋จ.

  • /sample/aaa
  • /sample/bbb

๋˜ํ•œ @RequestMapping ์–ด๋…ธํ…Œ์ด์…˜์€ ํด๋ž˜์Šค์˜ ์„ ์–ธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฉ”์„œ๋“œ์˜ ์„ ์–ธ์—๋„ ์‚ฌ์šฉํ• ์ˆ˜์žˆ์Œ

21์ผ๋‚ด์šฉ

SampleController๋Š” Lombok์˜ @Log4j๋ฅผ ์‚ฌ์šฉํ•จ
@Log4j๋Š” @Log๊ฐ€ java.util.Logging์„ ์ด์šฉํ•˜๋Š”๋ฐ ๋ฐ˜ํ•ด Log4j ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•จ
Spring LegacyProject๋กœ ์ƒ์„ฑํ•œ ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Log4j๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋ณ„๋„์˜ ์„ค์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Œ. (์œ„ ๋‚ด์šฉ์€ ํ‹€๋ฆฐ๋‚ด์šฉ๊ฐ™์Œ @Log4j๋ฅผ Java Main์—์„œ ์‚ฌ์šฉ์‹œ pom.xml์— Log4j ๋ถ€๋ถ„์— ์Šค์ฝ”ํ”„๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ฃผ์„ ์ฒ˜๋ฆฌํ•ด์•ผํ•จ)

@RequestMapping์˜ ๋ณ€ํ™”

@Controller ์–ด๋…ธํ…Œ์ด์…˜์€ ์ถ”๊ฐ€์ ์ธ ์†์„ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์—†์ง€๋งŒ, @RequestMapping์˜ ๊ฒฝ์šฐ ๋ช‡ ๊ฐ€์ง€์˜ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ ์ด ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ์ด method ์†์„ฑ์ž„, Method ์†์„ฑ์€ ํ”ํžˆ GET ๋ฐฉ์‹, POST๋ฐฉ์‹์„ ๊ตฌ๋ถ„ํ•ด์„œ ์‚ฌ์šฉํ• ๋•Œ ์ด์šฉํ•จ

์Šคํ”„๋ง์€ 4.3๋ฒ„์ „ ๋ถ€ํ„ฐ๋Š” ์ด๋Ÿฌํ•œ @RequestMapping์„ ์ค„์—ฌ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” @GetMapping, @PostMapping์ด ๋“ฑ์žฅํ•˜๋Š”๋ฐ
์ถ•์–‘ํ˜•์˜ ํ‘œํ˜„์ด๋ฏ€๋กœ, ์•„๋ž˜์™€ ๊ฐ™์ด ๋น„๊ตํ•ด์„œ ํ•™์Šตํ•˜๋Š”๊ฒƒ์ด ์ข‹์Œ.

@RequestMapping์€ GET, POST ๋ฐฉ์‹ ๋ชจ๋‘๋ฅผ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ๋ฐฐ์—ด๋กœ ์ฒ˜๋ฆฌํ•ด์„œ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ
์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ์—๋งŒ GET, POST ๋ฐฉ์‹๋งŒ์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ตœ๊ทผ์—๋Š” PUT, DELETE ๋ฐฉ์‹ ๋“ฑ๋„ ์ ์  ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Œ
@GetMapping์˜ ๊ฒฝ์šฐ ์˜ค์ง GET ๋ฐฉ์‹์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ฐ„ํŽธํ•˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ œํ•œ์€ ๋งŽ์€ํŽธ์ž„

Controller์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ง‘

Controller๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๊ฐ€์žฅ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ์ˆ˜์ง‘๋˜๋Š”๊ธฐ๋Šฅ์ž„
์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋งค๋ฒˆ request.getParameter()๋ฅผ ์ด์šฉํ•˜๋Š” ๋ถˆํŽธํ•จ์„ ์—†์•จ์ˆ˜์žˆ์Œ

์˜ˆ์ œ๋ฅผ ์œ„ํ•ด์„œ com.crow.domain ํŒจํ‚ค์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ณ , SmapleDTOํด๋ž˜์Šค๋„์ž‘์„ฑ

SampleDTO ํด๋ž˜์Šค ๊ตฌ์„ฑ

SampleDTO ํด๋ž˜์Šค๋Š” lombok์˜ @Data ์–ด๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•จ.
@Data ์–ด๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•˜๋ฉด getter/setter, equals(), toString() ๋“ฑ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ž๋™ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŽธ๋ฆฌํ•จ.

SampleController์˜ ๋ฉ”์„œ๋“œ๊ฐ€ SampleDTO๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์ž๋™์œผ๋กœ setter ๋ฉ”์„œ๋“œ๊ฐ€ ๋™์ž‘ํ•˜๋ฉด์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ฒŒ ๋จ
(์ด๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ง์ ‘ set๋ฉ”์„œ๋”๋ฅผ ์ œ์ž‘ํ•˜๊ณ  set ๋ฉ”์„œ๋“œ ๋‚ด ๊ฐ„๋‹จํ•œ ๋กœ๊ทธ๋“ฑ์„ ์ถœ๋ ฅํ•ด ๋ณด๋ฉด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ)

SampleController์˜ ๊ฒฝ๋กœ๊ฐ€ '/sample/*'์ด๋ฏ€๋กœ ex01() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ๋กœ๋Š” '/sample/ex01'์ด ๋จ
๋ฉ”์„œ๋“œ์—๋Š” @GetMapping์ด ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฏ€๋กœ, ํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ URL๋’ค์— '?name=AAA&age=10'๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ถ”๊ฐ€ํ•ด์„œ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Œ

์‹คํ–‰๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด SampleDTO ๊ฐ์ฒด ์•ˆ์— name๊ณผ age ์†์„ฑ์ด ์ œ๋Œ€๋กœ ์ˆ˜์ง‘๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ
ํŠนํžˆ ์ฃผ๋ชฉํ•  ์ ์€ ์ž๋™์œผ๋กœ ํƒ€์ž…์„ ๋ณ€ํ™˜ํ•ด์„œ ์ฒ˜๋ฆฌํ•จ

ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆ˜์ง‘๊ณผ ๋ณ€ํ™˜

Controller๊ฐ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐฉ์‹์€ ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž…์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์„ ์ด์šฉ
์˜ˆ๋ฅผ ๋“ค๋ฉด SampleDTO์— int ํƒ€์ž…์œผ๋กœ ์„ ์–ธ๋œ age๊ฐ€ ์ž๋™์œผ๋กœ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ

๋งŒ์ผ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์ด๋‚˜ ๋ฌธ์ž์—ด ๋“ฑ์„ ์ด์šฉํ•œ๋‹ค๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ํƒ€์ž…๋งŒ์„ ๋งž๊ฒŒ ์„ ์–ธํ•ด์ฃผ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ• ์ˆ˜์žˆ์Œ

SampleController์— ex02()๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์คŒ

ex02() ๋ฉ”์„œ๋“œ์˜ RequestParam

ex02() ๋ฉ”์„œ๋“œ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์— @RequestParam ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•ด์„œ ์ž‘์„ฑํ•จ
@RequestParam์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‚ฌ์šฉ๋œ ๋ณ€์ˆ˜์ด๋ฆ„๊ณผ ์ „๋‹ฌ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•จ
์ง€๊ธˆ ์˜ˆ์ œ์˜ ๊ฒฝ์šฐ ๋ณ€์ˆ˜๋ช…๊ณผ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„์ด ๋™์ผํ•˜๊ธฐ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ
@RequestParam ์†Œ๊ฐœ ์ฐจ์›์—์„œ ์‚ฌ์šฉํ–ˆ์Œ

๋ธŒ๋ผ์šฐ์ €์—์„œ 'http://localhost:8090/sample/ex02?name=AAA&age=10'ํ˜ธ์ถœ์‹œ
ex01()๊ณผ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ง‘๋œ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ.

๋ฆฌ์ŠคํŠธ, ๋ฐฐ์—ด์ฒ˜๋ฆฌ

๋™์ผํ•œ ์ด๋ฆ„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ArrayList<> ๋“ฑ์„ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•จ
SampleController ํด๋ž˜์Šค์— ex02List()๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•จ
์Šคํ”„๋ง์€ ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž…์„ ๋ณด๊ณ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž…์€ List<> ์™€ ๊ฐ™์ด ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…์ด ์•„๋‹Œ ์‹ค์ œ์ ์ธ ํด๋ž˜์Šค ํƒ€์ž…์œผ๋กœ ์ง€์ •ํ•จ

์œ„ ์ฝ”๋“œ์˜ ๊ฒฝ์šฐ 'ids'๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์ „๋‹ฌ๋˜๋”๋ผ๋„ ArrayList์ด
์ƒ์„ฑ๋˜์–ด ์ž๋™์œผ๋กœ ์ˆ˜์ •๋จ
๋ธŒ๋ผ์šฐ์ € ๋“ฑ์„ ์ด์šฉํ•ด์„œ 'http://localhost:8090/sample/ex02List?ids=111&ids=222&ids=333'์„
ํ˜ธ์ถœํ•˜๋ฉด ids : [111,222,333]๊ฐ™์ด ๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ๋จ

๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ๋„ ๋™์ผํ•˜๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•จ SampleController ํด๋ž˜์Šค์— ex02array() ๋ฉ”์†Œ๋“œ ์ƒ์„ฑ

โš ๏ธ **GitHub.com Fallback** โš ๏ธ