[πŸ“˜μŠ€ν”„λ§5] 12. MVC 2

쑀밍·2023λ…„ 3μ›” 29일

기둝

λͺ©λ‘ 보기
9/10

Chapter12. MVC 2: λ©”μ‹œμ§€, μ»€λ§¨λ“œ 객체 검증

이번 μž₯μ—μ„œλŠ” JSPνŒŒμΌμ— ν•˜λ“œμ½”λ”© ν–ˆλ˜ ν…μŠ€νŠΈλ₯Ό λ©”μ‹œμ§€ 파일둜 μ΄λ™μ‹œν‚€κ³  λ©”μ‹œμ§€ νŒŒμΌμ—μ„œ ν…μŠ€νŠΈλ₯Ό μ½μ–΄μ™€μ„œ JSP νŒŒμΌμ— μ‚½μž…ν•˜λŠ” λ©”μ‹œμ§€ κ΄€λ ¨ λ‚΄μš©κ³Ό μ‚¬μš©μžμ˜ μž…λ ₯값이 μ˜³μ€ μž…λ ₯값인지λ₯Ό κ²€μ‚¬ν•˜λŠ” μ»€λ§¨λ“œ 객체 검증에 λŒ€ν•œ λ‚΄μš©μ„ ν•™μŠ΅ν–ˆλ‹€. 이번 μž₯은 크게 μ–΄λ €μšΈ 게 μ—†μ—ˆλŠ”λ° μš”μƒν•œ 였λ₯˜κ°€ λ‚˜μ„œ μ •λ¦¬ν•˜λ„λ‘ ν•˜κ² λ‹€.

λ©”μ‹œμ§€ νŒŒμΌμ„ μž‘μ„±ν•˜κ³  Java νŒŒμΌλ„ 그것에 맞게 μˆ˜μ •ν•˜κ³  λ§ˆμ§€λ§‰μœΌλ‘œ JSP νŒŒμΌμ— ν•˜λ“œμ½”λ”© ν–ˆλ˜ ν…μŠ€νŠΈ λ‚΄μš©μ„ λ©”μ‹œμ§€ νŒŒμΌμ—μ„œ μ½μ–΄μ˜€λ„λ‘ ν•˜κΈ° μœ„ν•΄ JSP νŒŒμΌμ„ μˆ˜μ •ν•˜λŠ” 과정을 κ±°μ³€λ‹€. κ·Έμ€‘μ—μ„œλ„ JSP νŒŒμΌμ„ μˆ˜μ •ν•  λ•Œ JSTL ν™•μž₯ νƒœκ·Έ μ‚¬μš©μ„ μœ„ν•΄ JSP μ§€μ‹œμž νƒœκ·Έλ₯Ό μΆ”κ°€ν–ˆλŠ”λ° μ—¬κΈ°μ„œ λ…Έλž€ λ”±μ§€κ°€ λ–΄λ‹€. λ­”κ°€ μ΄μƒν–ˆλ‹€.

λ­”κ°€ μ΄μƒν–ˆμ§€λ§Œ 'κ·Έλž˜λ„ ν˜Ήμ‹œ μ„œλ²„μ— 올리면 λ™μž‘ν•  μˆ˜λ„ μžˆμ§€ μ•Šμ„κΉŒ...?' ν•˜κ³  μ„œλ²„μ— μ˜¬λ €λ΄€λ‹€.

응 μ•„λ‹ˆμ•Ό ꡬ글링해^^ ν˜Ήμ‹œ ν–ˆλŠ”λ° μ—­μ‹œ 였λ₯˜λ₯Ό 뱉어버렸닀. org.apache.jasper.JasperException은 jsp 문법 였λ₯˜λ‹€. μ•„κΉŒ κ·Έ κ²½κ³  λ•Œλ¬Έμ— μ•ˆλ˜λŠ” 것 κ°™μ•˜λ‹€. μ²˜μŒμ—” tablibκ°€ 이제 μ‚¬μš©λ˜μ§€ μ•ŠλŠ”κ±΄κ°€..? ν–ˆλŠ”λ° μ•„λ‹Œ 것 κ°™μ•˜λ‹€. 이제 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” λ‚΄μš©μ€ κ·Έ 어디에도 μ—†λ‹€. κ²½κ³ κ°€ λ–΄λ˜ νƒœκ·Έλ₯Ό κ΅¬κΈ€λ§ν•˜λ‹€λ³΄λ‹ˆκΉŒ λ‚˜μ™€ λ˜‘κ°™μ€ 였λ₯˜κ°€ λ‚˜λŠ” μ‚¬λžŒμ„ λ°œκ²¬ν–ˆλ‹€. 이 μ‚¬λžŒμ€

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

이 두 κ°€μ§€ λͺ¨λ‘ 였λ₯˜κ°€ λ‚˜λŠ” 것 κ°™μ•˜λ‹€. λ‚˜λŠ” κ·ΈλŸ¬λ‚˜ μ•„λž˜μͺ½μ˜ prefix="spring" μš” νƒœκ·Έλ§Œ 였λ₯˜κ°€ 났닀. 흠 λ­”κ°€ μ΄μƒν•œλ°.. μ΄μ‚¬λžŒμ€ WEB-INF/lib 폴더 직접 spring webmvc jar νŒŒμΌμ„ μ €μž₯ν–ˆλ‹€κ³  ν•œλ‹€. λ­”κ°€ μƒλ‹Ήνžˆ μ°μ°ν•œλ°.. λ˜‘κ°™μ€κ±΄λ° ν•˜λ‚˜λŠ” 되고 ν•˜λ‚˜λŠ” μ•ˆλœλ‹€κ³ ...? κ·Έλž˜μ„œ 더 μ°Ύμ•„λ΄€λ‹€. μ΄λ²ˆμ—” 였λ₯˜ λ‚΄μš©μœΌλ‘œ 검색을 ν•΄λ΄€λ‹€. κ·Έλž¬λ”λ‹ˆ μ–΄λ–€ μ‚¬λžŒμ€ ν°λ”°μ˜΄ν‘œ ν•˜λ‚˜κ°€ λͺ¨μ–‘이 μ΄μƒν•΄μ„œ μ§€μš°κ³  λ‹€μ‹œ ν•΄λ΄€λ”λ‹ˆ 됐닀고 ν–ˆλ‹€. μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜λŠ” νƒœκ·Έλ₯Ό λ³΅λΆ™ν•΄μ„œ λ”°μ˜΄ν‘œ μ•ˆμ˜ ν…μŠ€νŠΈλ§Œ λ°”κΏ”λ΄€λ‹€. κ²½κ³ κ°€ μ‚¬λΌμ‘Œλ‹€.

(λŒ€μΆ© κ°œλΉ„μŠ€μ½˜μ§€)
κ²½κ³ κ°€ μ‚¬λΌμ§€λ‹ˆ μ„œλ²„μ— μ˜¬λ €λ„ 잘 λ™μž‘ν–ˆλ‹€. μ €λ²ˆμ—λ„ ν•œ 번 jsp파일 μ±… λ‚΄μš© κ·ΈλŒ€λ‘œ μ μ—ˆλŠ”λ° κ²½κ³ κ°€ λœ¨λ”λΌλ‹ˆ.. λ­”κ°€ λ”°μ˜΄ν‘œλ‚˜ 그런 것듀이 μ΄μƒν•˜κ²Œ μž…λ ₯될 λ•Œκ°€ μžˆλ‚˜ 보닀.. μ™œ κ·ΈλŸ¬λŠ”μ§€λŠ” μ•Œ 수 μ—†μ—ˆλ‹€. μ–΄μ¨Œλ“  κ°„ νƒœκ·Έ 뢀뢄을 정상 λ™μž‘ν•˜λŠ” νƒœκ·Έλ‘œ λ°”κΏ¨λ”λ‹ˆ 잘 λ™μž‘ν–ˆλ‹€.


이미지상 λ³΄μ΄λŠ” κΈ€μž 쀑 μ•½κ΄€ λ‚΄μš©μ„ μ œμ™Έν•œ λ‚˜λ¨Έμ§€ κΈ€μžλ“€μ€ λ©”μ‹œμ§€ νŒŒμΌμ—μ„œ μ½μ–΄μ˜¨ κ°’μœΌλ‘œ 화면에 좜λ ₯된 κΈ€μžλ“€μ΄λ‹€. μœ μ§€λ³΄μˆ˜ μΈ‘λ©΄μ—μ„œ 같은 κΈ€μžλ₯Ό μ‚¬μš©ν•˜λŠ” μ—¬λŸ¬ νŽ˜μ΄μ§€μ˜ λ‚΄μš©μ„ λ©”μ‹œμ§€ 파일 ν•˜λ‚˜λ§Œ λ°”κΎΈλ©΄ λͺ¨λ“  화면에 λ³΄μ΄λŠ” κΈ€μžλ“€μ„ ν•œ λ²ˆμ— λ°”κΏ€ 수 μžˆλ‹€λŠ” μž₯점이 μžˆλ‹€.

Chapter12λ₯Ό λ§ˆλ¬΄λ¦¬ν•˜λ©°...

이번 였λ₯˜λŠ”.. μ°Έ... μ°Έμ‹ ν•œ 였λ₯˜μ˜€λ‹€. μ•„λ‹ˆ λ˜‘κ°™μ΄ 따라 μ³€λŠ”λ°λ„ 이러면 μ–΄λ–‘ν•˜μ£ ..? λ¬Έμ œκ°€ μžˆλŠ”λ°.. λ¬Έμ œκ°€ μ—†μŠ΅λ‹ˆλ‹€..! 뭐 이런 것도 μ•„λ‹ˆκ³ .. μ’€ μ–΄μ΄μ—†μ§€λ§Œ ν•΄κ²°ν–ˆμœΌλ‹ˆκΉŒ 됐닀. λ‹€μŒμ—λŠ” λ˜‘κ°™μ€ 였λ₯˜κ°€ λ‚˜μ§€ μ•ŠκΈ°λ₯Ό λ°”λž„ 뿐이닀.. 이 문제 λ§κ³ λŠ” 별 어렀움 없이 μ±… λ‚΄μš©λŒ€λ‘œ μž‘μ„±ν•˜λ©΄ 였λ₯˜ 없이 잘 λ™μž‘ν–ˆλ‹€.

[좜처]

500번 였λ₯˜ ν•΄κ²° 방법(개인적으둜 이 방법을 μ‚¬μš©ν•˜μ§„ μ•Šμ•˜λ‹€) -
https://www.inflearn.com/questions/167680/곡유-μŠ€ν”„λ§-form-spring-νƒœκ·Έ-500-였λ₯˜
org.apache.jasper.JasperException 였λ₯˜ ν•΄κ²° 방법 -
https://velog.io/@wordi/org.apache.jasper.JasperException-%EC%98%88%EC%99%B8-%ED%95%B4%EA%B2%B0

profile
κ°œλ°œμžμ§€λ§μƒ

0개의 λŒ“κΈ€