Skip to content

Latest commit

ย 

History

History
206 lines (86 loc) ยท 6.48 KB

[Spring]MVC.md

File metadata and controls

206 lines (86 loc) ยท 6.48 KB

servlet ๋“ฑ๋ก ๋ฐ ๊ด€๋ จ์€dispatcher

์Šคํ”„๋ง ๊ด€๋ จ์€ ์Šคํ”„๋ง์„ค์ •ํŒŒ์ผ ex.sprintmvc1.xml

p.325

  • HandlerMapping์„ ๋”ฐ๋กœ ๋“ฑ๋กํ•˜์ง€ ์•Š์œผ๋ฉด, ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋œ HandlerMapping์ด ๋™์ž‘ํ•˜๊ณ  ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋œ HandlerMapping๊ฐ์ฒด๋Š” ์˜ name์†์„ฑ์—์„œ path์™€ ์ผ์น˜ํ•˜๋Š” ๋นˆ์„ ์ฐพ์•„์„œ DispatcherServlet์œผ๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.

springmvc1์— ์žˆ๋˜ ํ•ธ๋“ค๋Ÿฌ๋งตํ•‘์„ springmvc2๋กœ ์˜ฎ๊ธฐ๊ณ , springmvc1๋‚ด์šฉ์„ ์ˆ˜์ •ํ•œ๋‹ค.

<prop key="ํ‚ค">๋ฐธ๋ฅ˜๊ฐ’</prop>

image-20200129102302567

๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ํ•˜๋ฉด ์˜ค๋ฅ˜๋‚œ๋‹ค.

image-20200129102340193

image-20200129102455542

bean์˜ name์„ ์•ž์—์„œ ์„ค์ •ํ•œ ํ•ธ๋“ค๋Ÿฌ๋งตํ•‘์— ๋งž๋Š” ๋นˆ ๊ฐ’์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์ค€๋‹ค.

image-20200129102607870

๋””์ŠคํŒจ์ณ ์„œ๋ธ”๋ฆฟ์ด ์š”์ฒญ์„ ๋ฐ›๊ณ  ํ•ธ๋“ค๋Ÿฌ๋งตํ•‘ํ•œํ…Œ ๋‚˜ ๋นˆ์ข€ ์ฐพ์•„์ค˜ ํ•˜๊ณ  ์˜๋ขฐํ•œ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ ์ฐพ์•„๋‹ฌ๋ผ๊ณ .

์•„๋ฌด๊ฒƒ๋„ ๋“ฑ๋ก ์•ˆํ•˜๋ฉด ์š”์ฒญํ•œ ํŒจ์Šค๋กœ ๋“ฑ๋ก๋œ ๋นˆ์„ ์ฐพ์•„์„œ ๋„˜๊ฒจ์ฃผ์ง€๋งŒ, ํ•ธ๋“ค๋Ÿฌ๋งตํ•‘์„ ๋“ฑ๋กํ•˜๋ฉด ๋“ฑ๋กํ•œ ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ปจํŠธ๋กค๋Ÿฌ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด ๋ฐ”๋€œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

ํ•ธ๋“ค๋Ÿฌ๋งคํ•‘์€ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ฐพ์•„์„œ ๋„˜๊ฒจ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

---> ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ด๋‹ค.


maven์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์‹ค์Šต ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ p.20

์ƒˆ๋กœ์šด ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ๊ธฐ์กด์— ์žˆ๋˜ ์„œ๋ฒ„๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

  1. ํ™”๋ฉด ์ตœํ•˜๋‹จ serversํƒญ์—์„œ delete

  2. ํŒจํ‚ค์ง€ ์ต์Šคํ”Œ๋กœ๋Ÿฌ์—์„œ Serverํด๋” ํ†ต์งธ๋กœ delete, content on disk ๊นŒ์ง€ ์ฒดํฌํ•ด์„œ ์‚ญ์ œ

  3. preference > server> runtime environment์—์„œ์‚ญ์ œ

image-20200129103349835

๊ทธ๋ฆฌ๊ณ  ํ™”๋ฉด ํ•˜๋‹จ์—์„œ ์„œ๋ฒ„ ์•„ํŒŒ์น˜ ํ†ฐ์บฃ 9.0๋ฒ„์ „์œผ๋กœ ๋งŒ๋“ค์–ด ์ฃผ๋ฉด ๋œ๋‹ค. ํฌํŠธ ํ•˜๋‚˜ ๋น„์–ด์žˆ์œผ๋‹ˆ 8005๋กœ ์ถ”๊ฐ€

utf-8 ๋กœใ…œ์„ค์ •ํ•˜๊ธฐ

preference> general >work space >Text file encoding ๋ถ€๋ถ„ > Other์„ ํƒ > UTF-8๋กœ ์„ค์ •

image-20200129103933830

preferences > Web > CSS files, HTML files, JSP files ๋“ค์–ด๊ฐ€์„œ > UTF-8๋กœ ๋ณ€๊ฒฝ

image-20200129104121620

image-20200129104200066

preference > general > content types > UTF-8 ๊ธฐ์ž… ํ›„ update > apply and close

image-20200129104206211

  • ์˜์กด๋ชจ๋“ˆ(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๊ณ ์žˆ๋Š” ๋˜๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค)

  • ๋ฉ”์ด๋ธ์ด๋ผ๋Š” ๋นŒ๋“œํˆด์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์ดํŠธ์— ์ค‘์•™์ €์žฅ์†Œ๊ฐ€ ์žˆ๋‹ค. ๊ฑฐ๊ธฐ์— ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด์žˆ๊ณ  ๋‚ด pc๋กœ copyํ•  ์ˆ˜ ์žˆ๋‹ค.

image-20200129104717970

image-20200129104758810

image-20200129104814815

3๋‹จ๊ณ„ ํŒจํ‚ค์ง€๋กœ ๋งŒ๋“ค ๊ฒƒ์ธ๋ฐ, ๋งˆ์ง€๋ง‰ ํŒจํ‚ค์ง€๊ฐ€ context path๋กœ ๋“ฑ๋ก์ด ๋œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœcontextpath๋Š” ํ”„๋กœ์ ํŠธ๋ช…๊ณผ ๋™์ผํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.

image-20200129105047816

๋ฉ”์ด๋ธ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์•„๋ž˜ ๊ฒฝ๋กœ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

image-20200129113438025

image-20200129113612732

jarํŒŒ์ผ 7z๋กœ ์••์ถ• ํ’€์–ด๋ณด๋ฉด ํ•ด๋‹น ํด๋”๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ ์ž˜ ๋‚˜์˜ค๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋‹ค์šด๋ฐ›์•„์ง„ ๊ฒƒ์ด๋‹ค.

์Šคํ”„๋ง์—์„œ๋„ ๊ฒฝ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

image-20200129113659697

image-20200129114207234

image-20200129114325303

์•ž์œผ๋กœ ์ด pom.xml์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.

https://mvnrepository.com/artifact/org.apache.tiles/tiles-jsp/3.0.8 ์—์„œ Maven ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

mvnrepository.com ์—์„œ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํ•„์š”ํ•œ ์†Œ์Šค๋“ค ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

image-20200129132406282

pom.xml์—์„œ ๋ฒ„์ „์„ ์ˆ˜์ •ํ•ด ์ค€๋‹ค.

image-20200129132448142

ํ”„๋กœ์ ํŠธ import ํ•˜๊ธฐ

image-20200129133051855

image-20200129133105688

image-20200129133245628

copy projects into workspace ํ•ด์ œํ•˜๋ฉด ์•„์˜ˆ ์›๋ณธ ๊ฒฝ๋กœ๊ฐ€ ๋„˜์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ •๋  ์œ„ํ—˜์ด ์žˆ๋‹ค.


image-20200129133747703

web.xml ์ˆ˜์ •ํ•œ๋‹ค.

appServlet๋ฐ‘์˜ servlet-context.xml ๋ณต์‚ฌํ•ด์„œ ๊ฐ€์ ธ์™€์„œ config์— ๋ถ™์—ฌ๋„ฃ๊ณ , ์ด๋ฆ„ ๋ฐ”๊ฟ”์„œ spring-config.xmlํŒŒ์ผ๋กœ ๋งŒ๋“ ๋‹ค.

image-20200130093705734

image-20200129134010334

image-20200129135128044

image-20200129140537428

java srcํŒจํ‚ค์ง€ copyํ•ด์„œ ๋„ฃ๊ธฐ

์–ด๋…ธํ…Œ์ด์…˜์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋นˆ์„ ์ฐพ์„ ํŒจํ‚ค์ง€ ๋“ฑ๋ก (spring-config.xml์— ๋“ฑ๋ก)

image-20200129140856097

Controller ํด๋ž˜์Šค ๋งŒ๋“ค๊ธฐ

์ด์ „์— controller๋ฅผ ์ƒ์†ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ, @Controller ๋งŒ ๋ถ™์—ฌ์ฃผ๋ฉด Controller ํด๋ž˜์Šค๊ฐ€ ๋œ๋‹ค.

์ƒ์†ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์—†๊ธฐ๋•Œ๋ฌธ์— ๋ฉ”์†Œ๋“œ๋ฅผ ๋‚ด๋ง˜๋Œ€๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค!

image-20200129141115465

  • ์–ด๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•ด์„œ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•  ๋•Œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋งค๊ฐœ๋ณ€์ˆ˜๋‚˜ ๋ฆฌํ„ดํƒ€์ž…์œผ๋กœ ์˜ฌ ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…๋“ค์ด ์ •ํ•ด์ ธ ์žˆ๊ธด ํ•˜์ง€๋งŒ ๊ทธ ์•ˆ์—์„œ ์›ํ•˜๋Š” ์ŠคํŽ™์„ ๋‹ค์–‘ํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฆฌํ„ดํƒ€์ž… : String, void, ModelAndView...
    • String : ๋ทฐ์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ ๋„˜๊ธธ ๋•Œ ์‚ฌ์šฉ
    • ModelAndView : ๊ณต์œ ํ•  ๋ฐ์ดํ„ฐ์™€ ๋ทฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ๋ฆฌํ„ด
  • ๋งค๊ฐœ๋ณ€์ˆ˜ : String, HttpServletRequest, HttpServletResponse, HttpSession, Model, DTO.....

image-20200129142027865

์ฝ˜์†”์ฐฝ์—์„œ ๋งตํ•‘ ์ •๋ณด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

image-20200129142242298

image-20200129144043869