[Tistory] [Spring] ๐ŸŒฟ STS ์„ค์น˜ ๋ฐ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

์›๊ธ€ ํŽ˜์ด์ง€ : ๋ฐ”๋กœ๊ฐ€๊ธฐ

1. ์Šคํ”„๋ง(Spring) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์ „ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๐Ÿš€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ โ–ช IDE : STS 3.9.18 โ–ช JAVA : JDK 11.0.22 โ–ช WAS : Apache Tomcat v9.0.89 1) โ˜• JDK (Java Development Kit) ์„ค์น˜ ๐Ÿ’พ STS 3.9.18 ํ˜ธํ™˜์„ ์œ„ํ•ด JDK 11 ์„ค์น˜ https://drive.google.com/file/d/1UeWu8FXavhxNRzLiYhPRjJH7pJt1YXDp/view?usp=drive_link 2) ๐Ÿ˜ฝ ํ†ฐ์บฃ (Apache Tomcat) ์„ค์น˜ ๐Ÿ’พ Apache Tomcat v9.0.89 Core zip ์„ค์น˜ Apache Tomcatยฎ – Apache Tomcat 9 Software Downloads Welcome to the Apache Tomcatยฎ 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version tomcat.apache.org 3) ๐ŸŒฟ STS (Spring Tool Suite) ์„ค์น˜ ๐Ÿ’พ Spring Tool Suite 3.9.18 ์„ค์น˜ Spring Tool Suite 3 the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite – spring-attic/toolsuite-distribution github.com 2. ์ž๋ฐ” (JDK) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ํ™˜๊ฒฝ ์„ค์ • ๋ฐฉ๋ฒ•์—๋Š” ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŽธ์ง‘๊ณผ STS3 ๋‚ด์—์„œ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๊ธฐ์กด์— ์ž๋ฐ”(JDK)๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๊ณ  ์ž๋ฐ”(JDK) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •์„ ํ–ˆ์—ˆ๋‹ค๋ฉด ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŽธ์ง‘ ์—†์ด STS3 ๋‚ด์—์„œ ์„ค์ •๋งŒ ๋ณ€๊ฒฝํ•ด๋„ ๊ฐ€๋Šฅํ•œ ๋“ฏ ํ•˜๋‹ค. 1) ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŽธ์ง‘ cmd ๊ฒ€์ƒ‰ ํ›„ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์‹คํ–‰ํ•ด์„œ ์ž๋ฐ” ๋ฒ„์ „์„ ํ™•์ธ ์•„๋ž˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ๋ฒ„์ „์ด 11์ด ์•„๋‹ˆ๊ฑฐ๋‚˜ ๋œจ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŽธ์ง‘ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค. ๐Ÿ“Œ ์ž๋ฐ”(JDK) ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •์€ ์•„๋ž˜ ๋งํฌ ์ฐธ๊ณ ! [Java] ์ž๋ฐ”(JDK) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • 1. ์ž๋ฐ”(JDK) ์„ค์น˜์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” JDK๋ฅผ ์„ค์น˜ JDK 11.0.22https://drive.google.com/file/d/1UeWu8FXavhxNRzLiYhPRjJH7pJt1YXDp/view?usp=drive_link JDK 17.0.10https://drive.google.com/file/d/1UeWu8FXavhxNRzLiYhPRjJH7pJt1YXDp/view?usp=drive_link seorydev.tistory.com 2) STS3 ๋‚ด์—์„œ ์„ค์ • ํ˜„์žฌ Eclipse์—์„œ JDK 17 ๋ฒ„์ „์„ ์‚ฌ์šฉํ–ˆ์–ด์„œ JDK 17๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ JDK 11๋กœ ๋ฐ”๊พธ์–ด ์ฃผ๋Š” ๊ณผ์ •์ด๋‹ค. 2-1) Window – Preference ํƒญ์—์„œ java ๊ฒ€์ƒ‰ ํ›„, Compiler ํƒญ์—์„œ JDK ๋ฒ„์ „์— ๋งž๊ฒŒ ‘Compiler compliance level’ ๋ณ€๊ฒฝ (16 โžœ 11) 2-2) Installed JREs ํƒญ์—์„œ ‘Edit…’ ํด๋ฆญ ‘Directory’ ํด๋ฆญ ํ›„, JDK 11 ๋ฒ„์ „ ํด๋”๋ฅผ ์ฐพ์•„ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •, ์ด๋ฆ„๋„ jdk-11๋กœ ๋ณ€๊ฒฝ ‘Finish’ ํด๋ฆญ 2-3) Installed JREs ํƒญ์—์„œ ‘jdk-11 (default)’๋กœ ๋ฐ”๋€ ๊ฑธ ํ™•์ธํ–ˆ์œผ๋ฉด ‘Apply and Close’๋ฅผ ํด๋ฆญ https://seorydev.tistory.com/56#3.-STS%EC%97%90%EC%84%9C-Tomcat-%EC%84%9C%EB%B2%84-%EC%97%B0%EA%B2%B0 3. ์Šคํ”„๋ง(Spring) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ 3-1) File – New – Spring Legacy Project 3-2) Project name ์ž…๋ ฅ โžœ Templates์—์„œ ‘Spring MVC Project’ ์„ ํƒ โžœ Next 3-3) ์ตœ์ƒ์œ„ ํŒจํ‚ค์ง€ ์ž…๋ ฅ 3-4) pom.xml ์•ˆ์—์„œ ์ž๋ฐ”(JDK) ๋ฒ„์ „ ์„ค์ • pom.xml์—์„œ ์Šคํฌ๋กค์„ ๋‚ด๋ ค source์™€ target๊ฐ’์„ 1.6์—์„œ ์ž๋ฐ”(JDK) ๋ฒ„์ „์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (ํ˜„์žฌ JDK 11 ์‚ฌ์šฉ) 3-5) Maven Update Project : Project ์šฐํด๋ฆญ โžœ Maven โžœ Update Project pom.xml์„ ์ˆ˜์ •ํ•˜์˜€์œผ๋ฏ€๋กœ maven update project๋ฅผ ํ•จ. STS ๋‚ด์—์„œ ์‹คํ–‰์ด ๋œ๋‹ค… ํ”„๋กœ์ ํŠธ ์‹คํ–‰ํ•  ๋•Œ jsp ํŒŒ์ผ์„ ์šฐํด๋ฆญํ•˜๊ณ  ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๋ฉด ? 404 ์—๋Ÿฌ ์ด์œ  : JSPํŒŒ์ผ์ด ‘WEB-INF’ ํด๋”์— ์žˆ์œผ๋ฉด ์ง์ ‘ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ‘WEB-INF’ ํด๋”๋Š” ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์ง์ ‘ URL๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก ์„ค์ •๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค. -> ‘WEB-INF/views’ ํด๋” ์•ˆ์— ์žˆ๋Š” jsp ํŒŒ์ผ์˜ ๊ฒฝ์šฐ, ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ํ•ด๋‹น jsp ํŒŒ์ผ์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. 4. STS3 ์„ค์น˜ ์—๋Ÿฌ ๋ฐ ์Šคํ”„๋ง(Spring) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ ์—๋Ÿฌ ๐Ÿ’ฅ Spring Legacy Project ์ƒ์„ฑ ์ค‘, Spring MVC Project๊ฐ€ ์—†๋Š” ์—๋Ÿฌ ๐Ÿ”จ ์—๋Ÿฌ ํ•ด๊ฒฐ 1. STS3 ์ข…๋ฃŒ 2. ์•„๋ž˜ ํŒŒ์ผ ์„ค์น˜ https://drive.google.com/file/d/11XrlcocAWISNPtWaWX3tqeLkfMlmLnbz/view?usp=drive_link 3. ๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ์„ ์•„๋ž˜ ๊ฒฝ๋กœ์— ์‚ฝ์ž… ํ˜„์žฌ์›Œํฌ์ŠคํŽ˜์ด์Šค\.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core ๐Ÿ’ฅ Spring Legacy Project ์ƒ์„ฑ ์‹œ, Spring MVC Project๋ฅผ ํด๋ฆญ โžœ ‘Next’ โžœ ์—๋Ÿฌ โ— ์—๋Ÿฌ ๋‚ด์šฉ An error has occurred. See error log for more details. Could not initialize class com.thoughtworks.xstream.converters.collections.PropertiesConverter โ“ ์—๋Ÿฌ ์›์ธ ์Šคํ”„๋ง ๋ฒ„์ „๊ณผ JDK ๋ฒ„์ „๊ฐ„์˜ ํ˜ธํ™˜ ๋ฌธ์ œ ๐Ÿ”จ ์—๋Ÿฌ ํ•ด๊ฒฐ 1. JDK 11 ์„ค์น˜ 2. JDK ์„ค์ • : ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ‘์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŽธ์ง‘’ ๋˜๋Š” ‘STS3 ๋‚ด์—์„œ ์„ค์ •’ 3. sts-bundle – STS.ini ํŒŒ์ผ์—์„œ ์•„๋ž˜ ์ฝ”๋“œ ์‚ฝ์ž… 4. STS ์žฌ์‹คํ–‰ -vm C:\Program Files\Java\jdk-11\bin\javaw.exe ์•„๋ž˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜๋ฉด ๋œ๋‹ค. @Controller : ์˜์กด์„ฑ ์ฃผ์ž… @Controller๋ผ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ controller์˜ ์—ญํ• ์„ ํ•จ. ์–ด๋…ธํ…Œ์ด์…˜์ด ์—†๋‹ค๋ฉด ์ผ๋ฐ˜ ์ž๋ฐ”ํด๋ž˜์Šค์ด๋‹ค. @RequestMapping(value = “/์ฃผ์†Œ”, method = RequestMethod.GET|POST) : ์š”์ฒญ์„ ๋ฐ›์•„ ์ด๋™ํ•  view, model์„ ๋ฐ˜ํ™˜ String์ด ๋ฐ˜ํ™˜๊ฐ’์ธ ์ด์œ  : view ์ด๋ฆ„๋งŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ex) return “home”; -> home.jsp๋ฅผ ์˜๋ฏธํ•จ Model : request scope์™€ ๊ฐ™์€ ์—ญํ• ๋กœ ๋ณด๋‹ค ๊ฐ€๋ฒผ์›€. ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด. ์š”์ฒญ๊ณผ ์‘๋‹ต์ด ๋๋‚ ๋•Œ๊นŒ์ง€ ์œ ์ง€๋˜๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ๊ตฌ์กฐ src – main – webapp – WEB-INF – views์— jspํŒŒ์ผ src – main – webapp – resources์— css, jsํŒŒ์ผ ํŽ˜์ด์ง€์— ํŠน์ • ์˜์—ญ ์ถ”๊ฐ€ : <% include file="์˜์—ญ.jsp"%> ex) ํ—ค๋” ์˜์—ญ : <% include file="header.jsp"%> ์˜ˆ์‹œ) @RequestMapping(value=”/member/join.do”, method=RequestMethod.POST) public String joinMember() { // ํšŒ์› ๊ฐ€์ž… ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ } -> ์ด ์ฝ”๋“œ๋Š” “๋งŒ์•ฝ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ /myapp/member/join.do ์ฃผ์†Œ๋กœ POST ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด, ์ด joinMember๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•ด์„œ ํšŒ์› ๊ฐ€์ž…์„ ์ฒ˜๋ฆฌํ•ด!”๋ผ๊ณ  ์ปดํ“จํ„ฐ์—๊ฒŒ ์•Œ๋ฆผ @Mapper : mapper ์—ญํ•  ๋ถ€์—ฌ ์ฝ”๋“œ mybatis ์‚ฌ์šฉ๋ฒ• 1. DAO ๊ตฌ์„ฑ + mapper.xml ์‚ฌ์šฉ (๊ธฐ์กด๋ฉ”์ด๋ธํ”„๋กœ์ ํŠธ) 2. mapper interface + mapper.xml – Interface.java : – Mapper.xml : sql๊ตฌ๋ฌธ ๋“ค์–ด๊ฐ 3. mapper interface + annotation ์ฐธ์กฐ https://velog.io/@matcha_/Spring-%EC%8A%A4%ED%94%84%EB%A7%81Spring-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0 [[Spring] ์Šคํ”„๋ง(Spring) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ดˆ๊ธฐ ํ™˜๊ฒฝ ์„ธํŒ…์„ ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ–ˆ๋‹ค. ๋‚˜๋Š” ์ „์ž์ •๋ถ€ํ”„๋ ˆ์ž„์›Œํฌ๋กœ๋งŒ ์„ธํŒ…ํ•ด๋ดค๊ณ , ํšŒ์‚ฌ์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํŒŒ์ผ์—๋‹ค๊ฐ€ ์„ธํŒ…์„ ํ•ด๋ด์„œ ์•„์˜ˆ ์ฒ˜์Œ๋ถ€ํ„ฐ velog.io](https://velog.io/@matcha_/Spring-%EC%8A%A4%ED%94%84%EB%A7%81Spring-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0) https://ldgeao99-developer.tistory.com/611 [3. ์ดํด๋ฆฝ์Šค์—์„œ STS3 ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ * ์ง€์ผœ์ ธ์•ผ ํ•  ์ˆœ์„œ 1) jdk 11์„ค์น˜ 2) ์ดํด๋ฆฝ์Šค 2021-09 ๋ฒ„์ „ ์„ค์น˜(jdk11๊ณผ ํ˜ธํ™˜์ด ์ข‹์•˜์Œ) 3) .ini ํŒŒ์ผ ์ตœ์ƒ๋‹จ์— ์•„๋ž˜ ๋ช…๋ น ์ถ”๊ฐ€(์ž๊ธฐ๊ฐ€ ์„ค์น˜ํ•œ jdk ๋ฒ„์ „๊ณผ ๋งž๊ฒŒ ์ž…๋ ฅํ•ด์ค˜์•ผ ํ•จ) – ์ด๊ฑฐ ์•ˆํ•ด์ฃผ๋ฉด exe์—์„œ ์— ldgeao99-developer.tistory.com](https://ldgeao99-developer.tistory.com/611)

๋‹ต๊ธ€ ๋‚จ๊ธฐ๊ธฐ

์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ํ•„๋“œ๋Š” *๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค