๐Ÿง‘โ€๐Ÿ’ป [Spring Boot] JSP ์—ฐ๋™ํ•˜๊ธฐ

J_m2nยท2024๋…„ 2์›” 13์ผ
0

์Šคํ”„๋ง๋ถ€ํŠธ์™€ JSP ์—ฐ๋™ํ•˜๊ธฐ!


์‚ฌ๊ฑด์˜ ๋ฐœ๋‹จ

  1. Mustache๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ ์ต์ˆ™ํ•œ jsp๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์–ด์กŒ์Œ
  2. ์˜ˆ์ „์— ํŒ€ํ”Œํ•  ๋•Œ ์Šคํ”„๋ง๋ถ€ํŠธ๋Š” jsp๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›์•ˆํ•ด์„œ ๋”ฐ๋กœ ์„ค์ •ํ•ด์ค˜์•ผํ•˜๋Š”๋ฐ ์ด๊ฒŒ ์ข€ ๋ณต์žกํ•˜๋‹ค๊ณ  ๋“ค์Œ
  3. ๊ตฌ๊ธ€๋งํ•˜๋ฉด ๋  ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์‹œ๋„



1. build.gradleํŒŒ์ผ

build.gradle ํŒŒ์ผ์— ๋ช‡ ์ค„์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

implementation "org.apache.tomcat.embed:tomcat-embed-jasper"
implementation 'javax.servlet:jstl:1.2'

โš ๏ธ ๋‹ค๋ฅธ ๋ถ„๋“ค์€ implementation 'javax.servlet:jstl' ๋กœ ํ•˜์‹œ๋˜๋ฐ ์ €๋Š” ์ด๊ฑธ๋กœ ํ•˜๋‹ˆ๊นŒ plugins์—์„œ 'javax.servlet:jstl' ์–˜๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋– ์„œ 1.2๋ฒ„์ „์„ ๋ช…์‹œํ•ด์คฌ์Šต๋‹ˆ๋‹ค..


2. webapp/WEB-INF/ ์ƒ์„ฑ

Spring Boot๋Š” Spring MVC์™€ ๋‹ฌ๋ฆฌ webapp/WEB-INF๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค.
src/main/resources/templates๋ฅผ ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋กœ ์žก๊ณ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— mustache๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ๊ทธ๋ƒฅ templates์— mustacheํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋ฉด ๋์—ˆ๋‹ค.
ํ•˜์ง€๋งŒ jsp๋Š” ์ข€ ๋‹ค๋ฆ„


"src/main/" ์— webapp ํด๋” ์ƒ์„ฑ, webapp ํด๋”์— WEB-INF ํด๋” ์ƒ์„ฑ, WEB-INF ํด๋” ์•ˆ์— jsp ํŒŒ์ผ์„ ๋ชจ์•„๋‘˜ ํด๋”๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. (์ €๋Š” mvc๋•Œ๋ถ€ํ„ฐ views๊ฐ€ ํŽธํ•ด์„œ views๋กœ ๋งŒ๋“ค์—ˆ์Œ


3. application-properties์— ์„ค์ • ์ถ”๊ฐ€

spring.mvc.view.prefix=/WEB-INF/[ํด๋”๋ช…]/
spring.mvc.view.suffix=.jsp

์œ„ ๋‘ ์ค„์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

4. ํ”„๋กœ์ ํŠธ ๋กœ๋“œํ•˜๊ธฐ

5. jsp ํŒŒ์ผ ์ƒ์„ฑ ํ›„ ์‹คํ–‰ํ•ด๋ณด๊ธฐ

์—ฌ๊ธฐ๊นŒ์ง„ ๊ตฌ๊ธ€๋ง์—์„œ ๋Œ€๋ถ€๋ถ„ ๋‹ค ๋˜‘๊ฐ™์ด ํ•˜์…”์„œ ๊ธฐ๋Œ€๋ฅผ ๊ฐ€์ง€๊ณ  ์‹คํ–‰ํ•ด๋ณด์•˜๋‹ค.


๊ทผ๋ฐ 404 ์—๋Ÿฌ ๋œจ๋ฉด์„œ JSP file [/WEB-INF/views/jspํŒŒ์ผ๋ช…] not found ๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋œธ..


๊ทธ๋ž˜์„œ 3๋ฒˆ์—์„œ ํ–ˆ๋˜๊ฑฐ ๋‹ค์‹œ ์ง€์šฐ๊ณ  ํ•ด๋ณด๊ณ , ํ”„๋กœ์ ํŠธ๋„ ์—ฌ๋Ÿฌ๋ฒˆ ๋‹ค์‹œ ๊ฐˆ์•„์—Ž๊ณ  ํ–ˆ์ง€๋งŒ.. ๊ทธ๋ž˜๋„ ์•ˆ๋์Œ..ใ… ใ… 


๊ทธ๋Ÿฌ๋‹ค๊ฐ€ gradle์—์„œ bootRun์„ ํ•˜๋ฉด ๋œ๋‹ค๋Š” ๊ธ€์„ ๋ด„!!
์ผ๋‹จ ์ง€ํ‘ธ๋ผ๊ธฐ๋ผ๋„ ์žก์•„์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด์—ˆ์–ด์„œ ์‹œ๋„ํ•ด๋ณด๊ธฐ๋กœ ํ•จ




ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ํ•˜๋Š” ๊ณณ์—์„œ "Gradle for Java"๋ฅผ ์„ค์น˜


๊ทธ๋Ÿฌ๋ฉด ๋งจ ๋ฐ‘์— ์ € ์ฝ”๋ผ๋ฆฌ ๋ชจ์–‘์ด ์ƒ๊ธด๋‹ค.
(๊ทผ๋ฐ ์ด๊ฒƒ๋„ ์„ค์น˜ ํ›„ ๋ฐ”๋กœ ์•ˆ์ƒ๊ฒจ์„œ VSCode ์—ฌ๋Ÿฌ ๋ฒˆ ๊ป๋‹ค ์ผœ๋ดค์Œ
๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋œจ๋”๋ผ๊ตฌ์š”,,,?)


๊ทธ๋Ÿฌ๋ฉด application ํ•˜์œ„์— bootRun์ด๋ผ๋Š”๊ฒŒ ์žˆ์Œ
์–˜๋ฅผ ์‹คํ–‰์‹œํ‚ค๋‹ˆ ์ž˜ ๋์Œ...

์ด๊ฑฐ ๋•Œ๋ฌธ์— 2์‹œ๊ฐ„์„ ๋ฒ„๋ ธ๋‹ค,,!!!!!!!!!!

profile
์ฝ”๋”ฉ ์ดˆ์งœ์ž…๋‹ˆ๋‹ค

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