Spring28 [Spring] (MAC, IntelliJ, vue.js) org.h2.jdbc.JdbcSQLFeatureNotSupportedException: Feature not supported: "CHARACTER VARYING(255)"; ์ค๋ฅ๋ ์ ๋จ๋๊ฑธ๊น? ์ด์ฐ์ ์ฐ ํ๋ก ํธ๋ฅผ ๋ง๋ค๊ณ ๋ฐฑ์๋๋ฅผ ํ๋ ค๋๋ฐ,์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค!์ ๋ฐ์ํ ๊ฑธ๊น? 1. ์ค๋ฅ ์ดํผ๊ธฐ. ์ด๋ฐ! ๋ชป์๊ธด ์ค๋ฅ๊ฐ ๋ด๋ค.Caused by: org.h2.jdbc.JdbcSQLFeatureNotSupportedException:Feature not supported: "CHARACTER VARYING(255)"; SQL statement: ํ์ฌ H2๋ก database๋ฅผ ๊ด๋ฆฌํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ h2์์ ์ํฌํธํ์ง ์๋ ํน์ ํ์ ์ด ์กด์ฌํ๋ค๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ๊ทธ ํน์ ํ์ ์ "CHARACTER VARYING(255)"๋ผ๊ณ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก์ง๊ณผ ์ฐ๊ฒฐ๋ ํํธ๋ฅผ ์ดํด๋ด์ผ๊ฒ ๋ค. 2. ์ฝ๋ ์ดํผ๊ธฐ.ํ์ฌ ํ๋ก์ ํธ ํ์ผ์ด๋ค. ํ๋์ฉ ์ดํด๋ณด๋ฉด RegisterRequest๋ ํ๋ก ํธ๋ก ๋ค.. 2025. 7. 26. [Spring] (MAC, IntelliJ, vue.js) OpenAPI์ธ Swagger ์ ์ฉํ๊ณ YAML ์์ฑํด๋ณด๊ธฐ. Swgger๋ฅผ ์ฌ์ฉํ์ฌREST API๋ฅผ ์์ฑํด๋ณด๊ณ ์ ํ๋ค.๐ 1. Swagger๋?2. Swagger ๋ฑ๋กํ๊ธฐ3. Swagger ์์ฑ ๋ฐฉ๋ฒ4. YAML์ผ๋ก ์์ฑํด ๋ณด๊ธฐ5. ๋ง๋ฌด๋ฆฌ 1. Swagger๋? Swagger๋ REST API๋ฅผ ์ค๋ช ํ๊ณ , ๋ฌธ์ํํ๊ณ , ํ ์คํธํ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ์ด๋ค. Swagger๋ฅผ ์ฌ์ฉํ๋ฉด, ๋ง๋ API์ ๋ช ์ธ์๋ฅผ ์๋์ผ๋ก ๋ง๋ค์ด์ฃผ๊ฑฐ๋ ์ฝ๊ฒ ์์ฑํ ์ ์๋๋ก ๋์์ค๋ค. ์ด๋ Swagger๋ OpenAPI Specification์ด๋ผ๋ ํ์ค ๋ช ์ธ์ ํฌ๋งท์ ์ฌ์ฉํ๋ค. (๊ทธ๋์์ผ๊น, OpenAPI๋ผ๊ณ ๋ถ๋ฅด๋ ๋ฏํ๋ค.) 2. Swagger ๋ฑ๋กํ๊ธฐ. โก build.gradle์ ๋ค์ด๊ฐ๊ธฐ. โก dependencies์ ์ฝ๋ ๋ฑ๋กํ๊ธฐ.implementation 'o.. 2025. 7. 17. [Spring] REST์ API ๊ทธ๋ฆฌ๊ณ REST API๋? Swagger๋ฅผ ํตํดAPI์ ๋ช ์ธ์๋ฅผ ๋ง๋ค์ด๋ณด๋ คํ๋ค.๊ทธ๋ฐ๋ฐ REST API์ ์ฐ๊ด์ด ์๋ ๋ฏ ํ๋ค.REST API๊ฐ ๋ญ๊น? REST๋?REST๋ Representational State Transfer์ ์ฝ์์ด๋ค.์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํ์ฌ ํด๋น ์์์ ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ชจ๋ ๊ฒ์ ์๋ฏธํ๋ค.HTTP URI๋ฅผ ํตํด ์์์ ๋ช ์ํ๊ณ , HTTP Method(GET, POST ๋ฑ)๋ฅผ ํตํด ํด๋น ์์(URI)์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ๋ค์ ์ ์ฉํ๋ค.์ฌ๊ธฐ์ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ CRUD Operation์ผ๋ก Create(์์ฑ), Read(์ฝ๊ธฐ), Update(๊ฐฑ์ ), Delete(์ญ์ )๋ฅผ ๋งํ๋ค. REST์ ๋จ์ ํ์ค ์์ฒด๊ฐ ์กด์ฌํ์ง ์์ ์ ์๊ฐ ํ์ํ๋ค.HTTP Method ํํ๊ฐ ์ ํ์ ์ด๋ค... 2025. 7. 16. [Spring] ๊น์ํ ์คํ๋ง MVC_ ์น์ 5. MVC ํ๋ ์์ํฌ ๋ง๋ค๊ธฐ ์น์ 5๋ ํ์ฌ์ Spring MVC๊น์ง ์ค๊ฒ๋ ๊ณผ์ ์ ์ฐจ๊ทผ์ฐจ๊ทผ ์ดํด๋ดค๋ค. ์์ ๋ฐฐ์ด ์ ์์ ๊ฐ์ฅ ํฐ ๋ณํ๋ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ๊ฐ ์ถ๊ฐ๋์๋ค๋ ๊ฒ์ด๋ค. ์์ฒญ๊ณผ ์๋ต์ ์ปจํธ๋กค๋ฌ์์ ์ฒ๋ฆฌํ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ์ ์ญํ ์ ์ ๊ฐํด ๊ฐ๋ฐ์๋ ์ ์ ํธ๋ฆฌํ๊ฒ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํ ์ ์๊ฒ ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ณต๋๋ ์ฝ๋๋ฅผ ์ต๋ํ ์ค์ด๋ฉฐ ์ ์ง์ ์ธ ๊ตฌ์กฐ์ ๋ณํ๋ฅผ ์ฃผ์๋ค. โ๏ธ ์๋ชป๋ ์ ๋ณด๊ฐ ์์ ์ ์์ต๋๋ค โ๏ธ V1_ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ๋ฅผ ๋์ ํ์.ํ๋ก ํธ ์ปจํธ๋กค๋ฌ๋ก ์์ฒญ์ ๋ฐ์ ์๋ง๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์ฐพ์ ํธ์ถํ๋ค.๋๋จธ์ง ์ปจํธ๋กค๋ฌ๋ ์๋ธ๋ฆฟ์ ์ฌ์ฉํ์ง ์๋๋ค. โบ ControllerV1.interfacepublic interface ControllerV1 { void process(HttpServletRequest r.. 2025. 7. 14. [Spring] (MAC, IntelliJ, vue.js) Spring boot๋ก ํ๋ก์ ํธ ๋ง๋ค๊ณ , vue.js ์ค์น์ ํ๋ก์ ํธ ์ด๊ธฐ. ์ด๋ฒ์ ๋ง๋ค ์น์ฌ์ดํธ๋vue.js๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค๐ 1. ๋ง๋ค๊ณ ์ ํ๋ ๊ฒ์? ํ์๊ฐ์ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ณ ์ ํ๋ค. Vue.js๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก ํธ ๊ณต๋ถ๋ฅผ ํ๋ฉด์, ๊ฐ๋จํ ํ์๊ฐ์ ๊ณผ ๋ก๊ทธ์ธ์ ์ํํ๋ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ๊ฒ์ด๋ค. ๋๋ถ๋ถ์ ์น์ฌ์ดํธ์ ํ์๊ฐ์ ๊ณผ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ํ์ํ๋ ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ํ๊ฒ๋ผ๋ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋๋ฉด ํธ๋ฆฌํ ๊ฒ ๊ฐ๋ค.๊ฐํธ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ด ์ด๋ฒ ํ๋ก์ ํธ์ ๋ชฉํ์ด๋ฉฐ, Vue์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ํฐ๋ํ๊ณ ์ด๋ป๊ฒ ํ๋ฌ๊ฐ๋์ง ํ์ ํ๊ณ ์ ํ๋ค. 2. Spring initializr ์์ฑํ๊ธฐ. โก https://start.spring.io/ โก dependencies ์ค์ ํ๊ธฐ. dependencies { implementation 'org.springfra.. 2025. 7. 10. [Spring] ๊น์ํ ์คํ๋ง MVC_ ์น์ 4. ์๋ธ๋ฆฟ, JSP, MVC ํจํด(2) ์น์ 4๋ ์์ฃผ ๊ฐ๋จํ ํ์๊ด๋ฆฌ ์น์ ๋ง๋ค์๋ค. ์ฒ์์๋ ์๋ธ๋ฆฟ์ผ๋ก ํด๋ณด๊ณ JSP, SpringMVC๋ฅผ ์ฐจ๋ก๋ก ์ดํด๋ดค๋ค. ์๋ธ๋ฆฟ๊ณผ JSP๋ก ๋ง๋ ์ฝ๋์๋ ์ด๋ค ๋ถํธํ ์ ์ด ์๋์ง, SpringMVC๋ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํด๋ณด๋ฉฐ ์๋ธ๋ฆฟ๊ณผ JSP์ ๋ฌธ์ ์ ์ ์ด๋ป๊ฒ ๋ณด์ํ๋์ง ์ดํด๋ดค๋ค. โ๏ธ ์๋ชป๋ ์ ๋ณด๊ฐ ์์ ์ ์์ต๋๋ค โ๏ธ MVC ํจํด - ํ์์ ๋ณด ์ ์ฅ๊ณผ ์ถ๋ ฅ์๋ธ๋ฆฟ์ ์ปจํธ๋กค๋ฌ๋ก ์ฌ์ฉํ๊ณ , JSP๋ฅผ ๋ทฐ๋ก ์ฌ์ฉํ๋ค. โบ MvcMemeberFormServlet.classํ์ ๋ฑ๋ก ํผ ํด๋์ค์ปจํธ๋กค๋ฌ ์ญํ ์ ๋ด๋นํ๋ค. RequestDispatcher: ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์ต์ด๋ก ๋ค์ด์จ ์์ฒญ์ ์ํ๋ ์์์ผ๋ก ์์ฒญ์ ๋๊ธฐ๋ ์ญํ ์ ์ํํ๊ฑฐ๋, ํน์ ์์์ ์ฒ๋ฆฌ๋ฅผ ์์ฒญํ๊ณ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์ป์ด์ค๋ ๊ธฐ๋ฅ์ ์ํํ๋ ํด.. 2025. 7. 4. ์ด์ 1 2 3 4 5 ๋ค์