λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

전체 κΈ€

(135)
4.1 Spring MVC 1) Spring MVCλž€? MVCλž€? MVCλŠ” Model-View-Controller의 μ•½μžμž…λ‹ˆλ‹€. μ›λž˜λŠ” 제둝슀 μ—°κ΅¬μ†Œμ—μ„œ μΌν•˜λ˜ 트뀼그베 λ¦°μ¦ˆμ»€κ·Έκ°€ 처음으둜 μ†Œκ°œν•œ κ°œλ…μœΌλ‘œ, λ°μŠ€νŠΈν†± μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μš©μœΌλ‘œ κ³ μ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€. Model : λͺ¨λΈμ€ λ·°κ°€ λ Œλ”λ§ν•˜λŠ”λ° ν•„μš”ν•œ λ°μ΄ν„°μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μ‚¬μš©μžκ°€ μš”μ²­ν•œ μƒν’ˆ λͺ©λ‘μ΄λ‚˜, μ£Όλ¬Έ 내역이 이에 ν•΄λ‹Ήν•©λ‹ˆλ‹€. View : μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λ·°(View)λŠ” μ‹€μ œλ‘œ λ³΄μ΄λŠ” 뢀뢄이며, λͺ¨λΈμ„ μ‚¬μš©ν•΄ λ Œλ”λ§μ„ ν•©λ‹ˆλ‹€. λ·°λŠ” JSP, JSF, PDF, XMLλ“±μœΌλ‘œ κ²°κ³Όλ₯Ό ν‘œν˜„ν•©λ‹ˆλ‹€. Controller : μ»¨νŠΈλ‘€λŸ¬λŠ” μ‚¬μš©μžμ˜ μ•‘μ…˜μ— μ‘λ‹΅ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€. μ»¨νŠΈλ‘€λŸ¬λŠ” λͺ¨λΈμ„ μ—…λ°μ΄νŠΈν•˜κ³ , λ‹€λ₯Έ μ•‘μ…˜μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€. MVC Model 1 μ•„ν‚€ν…μ²˜ λΈŒλΌμš°μ €κ°€ μš”μ²­μ„ ν•˜κ²Œ..
3.3 Spring JDBC 1) Spring JDBC μ†Œκ°œ Spring JDBC JDBC ν”„λ‘œκ·Έλž˜λ°μ„ 보면 λ°˜λ³΅λ˜λŠ” 개발 μš”μ†Œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 반볡적인 μš”μ†ŒλŠ” 개발자λ₯Ό μ§€λ£¨ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€. κ°œλ°œν•˜κΈ° μ§€λ£¨ν•œ JDBC의 λͺ¨λ“  μ €μˆ˜μ€€ 세뢀사항을 μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬κ°€ μ²˜λ¦¬ν•΄μ€λ‹ˆλ‹€. κ°œλ°œμžλŠ” ν•„μš”ν•œ λΆ€λΆ„λ§Œ κ°œλ°œν•˜λ©΄ λ©λ‹ˆλ‹€. Spring JDBC - κ°œλ°œμžκ°€ ν•΄μ•Ό ν•  일은? Spring JDBC νŒ¨ν‚€μ§€ org.springframework.jdbc.core JdbcTemplate 및 κ΄€λ ¨ Helper 객체 제곡 org.springframework.jdbc.datasource DataSourceλ₯Ό μ‰½κ²Œ μ ‘κ·Όν•˜κΈ° μœ„ν•œ μœ ν‹Έ 클래슀, νŠΈλžœμ μ…˜ λ§€λ‹ˆμ Έ 및 λ‹€μ–‘ν•œ DataSource κ΅¬ν˜„μ„ 제곡 org.springframework.jdbc.object..
3.2 Spring Test 1) Test κ°œμš” 1. ν…ŒμŠ€νŒ…μ΄λž€ 무엇인가? μš”κ΅¬ν•˜λŠ” μˆ˜μ€€μ„ λ§Œμ‘±ν•˜λŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ 결함을 λ°œκ²¬ν•˜λŠ” 과정이라고 말할 수 μžˆμŠ΅λ‹ˆλ‹€. 전톡적인 ν…ŒμŠ€νŒ… κ°œλ…μ€ μ‘μš© ν”„λ‘œκ·Έλž¨ λ˜λŠ” μ‹œμŠ€ν…œμ΄ 잘 μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. ν˜„μž¬μ˜ ν…ŒμŠ€νŒ… κ°œλ…μ€ μ‚¬μš©μžμ˜ κΈ°λŒ€ μˆ˜μ€€κ³Ό μš”κ΅¬ 사항에 맞게 κ΅¬ν˜„λ˜κ³  λ™μž‘ν•˜λŠ”μ§€λ₯Ό ν™•μΈν•˜κ³  이λ₯Ό 톡해 결함을 λ°œκ²¬ν•˜κ³ , μ΅œμ’…μ μœΌλ‘œ 결함 데이터λ₯Ό κ·Όκ°„μœΌλ‘œ 개발 ν”„λ‘œμ νŠΈμ˜ 리슀크(Risk)에 λŒ€ν•œ 수치적인 νŒλ‹¨ κ·Όκ±°λ₯Ό μ˜μ‚¬ κ²°μ •κΆŒμž(ν”„λ‘œμ νŠΈ κ΄€λ¦¬μž λ“±)μ—κ²Œ μ „λ‹¬ν•˜λŠ” 것을 λ§ν•©λ‹ˆλ‹€. 개발 ν”„λ‘œμ νŠΈ μ΄ˆκΈ°μ— 개발 쀑간 μ‚°μΆœλ¬Ό(Work products)을 ν…ŒμŠ€νŒ… κ΄€μ μ—μ„œ 리뷰(Review)ν•˜κ³ , ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό 미리 λ§Œλ“œλŠ” κ³Όμ •μ—μ„œ 결함을 λ°œκ²¬ν•˜λŠ” μž‘μ—…(결함 예방 ν™œλ™)도 ν…ŒμŠ€νŒ… ν™œλ™μ˜ μ€‘μš”ν•œ λΆ€..
3.1 Spring Core λͺ¨λ“  μ‹€μŠ΅ μ½”λ“œ(+주석) 링크: ν”„λ‘œμ νŠΈλͺ…: diexam01 1) Springμ΄λž€? Spring Frameworkλž€? μ—”ν„°ν”„λΌμ΄μ¦ˆκΈ‰ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ꡬ좕할 수 μžˆλŠ” κ°€λ²Όμš΄ μ†”λ£¨μ…˜μ΄μž, μ›μŠ€-μŠ€νƒ‘-숍(One-Stop-Shop) μ›ν•˜λŠ” λΆ€λΆ„λ§Œ κ°€μ Έλ‹€ μ‚¬μš©ν•  수 μžˆλ„λ‘ λͺ¨λ“ˆν™”κ°€ 잘 λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. IoC μ»¨ν…Œμ΄λ„ˆμž…λ‹ˆλ‹€. μ„ μ–Έμ μœΌλ‘œ νŠΈλžœμž­μ…˜μ„ 관리할 수 μžˆμŠ΅λ‹ˆλ‹€. μ™„μ „ν•œ κΈ°λŠ₯을 κ°–μΆ˜ MVC Frameworkλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. AOP μ§€μ›ν•©λ‹ˆλ‹€. μŠ€ν”„λ§μ€ 도메인 논리 μ½”λ“œμ™€ μ‰½κ²Œ 뢄리될 수 μžˆλŠ” ꡬ쑰둜 λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ν”„λ ˆμž„ μ›Œν¬ λͺ¨λ“ˆ μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬λŠ” μ•½ 20개의 λͺ¨λ“ˆλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ν•„μš”ν•œ λͺ¨λ“ˆλ§Œ κ°€μ Έλ‹€ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. AOP와 μΈμŠ€νŠΈλ£¨λ©˜ν…Œμ΄μ…˜ (Instrumentation) spring-AOP : A..
2.6 JSTL & EL 1) EL(Expression Language) ν‘œν˜„ μ–Έμ–΄μ˜ κΈ°λ³Έ 객체 μ‚¬μš© 예 ν‘œν˜„ μ–Έμ–΄μ˜ 데이터 νƒ€μž… λΆˆλ¦¬μ–Έ νƒ€μž… - true와 false μ •μˆ˜νƒ€μž… - 0~9둜 이루어진 μ •μˆ˜ κ°’ 음수의 경우 '-'κ°€ λΆ™μŒ μ‹€μˆ˜νƒ€μž… - 0~9둜 이루어져 있으며, μ†Œμˆ˜μ ('.')을 μ‚¬μš©ν•  수 있고, 3.24e3κ³Ό 같이 μ§€μˆ˜ν˜•μœΌλ‘œ ν‘œν˜„ κ°€λŠ₯ν•˜λ‹€. λ¬Έμžμ—΄ νƒ€μž… - λ”°μ˜΄ν‘œ( ' λ˜λŠ”" )둜 λ‘˜λŸ¬μ‹Ό λ¬Έμžμ—΄. λ§Œμ•½ μž‘μ€ λ”°μ˜΄ν‘œ(')λ₯Ό μ‚¬μš©ν•΄μ„œ ν‘œν˜„ν•  경우 값에 ν¬ν•¨λœ μž‘μ€ λ”°μ˜΄ν‘œλŠ” \' 와 같이 \ κΈ°ν˜Έμ™€ ν•¨κ»˜ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€. \ 기호 μžμ²΄λŠ” \\ 둜 ν‘œμ‹œν•œλ‹€. 널 νƒ€μž… - null 객체 μ ‘κ·Ό κ·œμΉ™ ν‘œν˜„ 1μ΄λ‚˜ ν‘œν˜„ 2κ°€ null이면 null을 λ°˜ν™˜ν•œλ‹€. ν‘œν˜„1이 Map일 경우 ν‘œν˜„2λ₯Ό keyλ‘œν•œ 값을 λ°˜ν™˜ν•œλ‹€. ν‘œν˜„1이 Lis..
2.5 Scope 1) scopeλž€? 4가지 Scope page : νŽ˜μ΄μ§€ λ‚΄μ—μ„œ μ§€μ—­λ³€μˆ˜μ²˜λŸΌ μ‚¬μš© pageContext (μ˜ˆμ‹œ γ…‡) Request : httpμš”μ²­μ„ WASκ°€ λ°›μ•„μ„œ μ›Ή λΈŒλΌμš°μ €μ—κ²Œ 응닡할 λ•ŒκΉŒμ§€ λ³€μˆ˜κ°€ μœ μ§€λ˜λŠ” 경우 μ‚¬μš© ν•˜λ‚˜μ˜ μš”μ²­μ΄ λ“€μ–΄μ™€μ„œ 응닡이 λ‚˜κ°ˆ λ•ŒκΉŒμ§€ HttpServletRequest Session : μ›Ή λΈŒλΌμš°μ € λ³„λ‘œ λ³€μˆ˜κ°€ κ΄€λ¦¬λ˜λŠ” 경우 μ‚¬μš© session 객체가 μƒμ„±λ˜μ–΄ μ†Œλ©Έλ  λ•ŒκΉŒμ§€ (μš”μ²­μ΄ ν•˜λ‚˜κ°€ μ•„λ‹ˆλΌ μ—¬λŸ¬ 개의 μš”μ²­μ΄ 듀어와도 계속 λ‚¨μ•„μžˆλŠ”) μƒνƒœμœ μ§€λ₯Ό ν•  λ•Œ μ‚¬μš©ν•˜λŠ” scope, HttpSession Application : μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹œμž‘λ˜κ³  μ’…λ£Œλ  λ•ŒκΉŒμ§€ λ³€μˆ˜κ°€ μœ μ§€λ˜λŠ” 경우 μ‚¬μš© ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μƒμ„±λ˜μ–΄ 이게 μ†Œλ©Έλ  λ•ŒκΉŒμ§€ ServletContext (μ˜ˆμ‹œ γ…‡..
2.4 JSP 1) JSPλž€? κ²°κ³Όλ₯Ό 좜λ ₯ν•  λͺ©μ μœΌλ‘œ μ‚¬μš© jspλŠ” μžμ²΄κ°€ λ™μž‘ν•˜λŠ” 게 μ•„λ‹ˆλΌ λͺ¨λ“  jsp μ„œλΈ”λ¦ΏμœΌλ‘œ λ°”λ€Œμ–΄μ„œ λ™μž‘ν•΄μš” jspλŠ” WebContent μ•ˆμ— 있음. μ•ˆμ— 디렉토리λ₯Ό λ§Œλ“€μ–΄λ„ 되고. 맨 μœ„ μ§€μ‹œλ¬Έ, 이런 μ§€μ‹œλ₯Ό λ“£λŠ” 것은 JSPλ₯Ό μ‹€ν–‰ν•˜λŠ” WAS λ°‘ κΊ½μ‡  μ•ˆ μžλ°” μ½”λ“œ 1λΆ€ν„° 10κΉŒμ§€μ˜ ν•© : JSP λ“±μž₯ λ°°κ²½ λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈμ—μ„œ ASP(Active Server Page)λΌλŠ” μ‰½κ²Œ 웹을 κ°œλ°œν•  수 μžˆλŠ” 슀크립트(script) 엔진을 λ°œν‘œν•¨ (1998λ…„) 1997년에 λ°œν‘œλœ μ„œλΈ”λ¦Ώμ€ ASP에 λΉ„ν•˜μ—¬ μƒλŒ€μ μœΌλ‘œ 개발 방식이 λΆˆνŽΈν•¨ ASP에 λŒ€ν•­ν•˜κΈ° μœ„ν•˜μ—¬ 1999λ…„ μ¬λ§ˆμ΄ν¬λ‘œμ‹œμŠ€ν…œμ¦ˆμ—μ„œ JSPλ₯Ό λ°œν‘œ JSPλŠ” μ‹€μ œλ‘œ μ„œλΈ”λ¦Ώ κΈ°μˆ μ„ μ‚¬μš© 항상 jsp λŠ” μ„œλΈ”λ¦ΏμœΌλ‘œ λ°”λ€Œκ³  이 바뀐 μ„œλΈ”λ¦Ώμ΄ μ‹€ν–‰λ˜λŠ” ..
2.3 Servlet 1) Servlet μ΄λž€? dynamic web 였λ₯˜ https://skypotato-note.tistory.com/136 https://stackoverflow.com/questions/4119448/the-import-javax-servlet-cant-be-resolved μžλ°” μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜(Java Web Application) WAS에 μ„€μΉ˜(deploy)λ˜μ–΄ λ™μž‘ν•˜λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μž…λ‹ˆλ‹€. μžλ°” μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ—λŠ” HTML, CSS, 이미지, μžλ°”λ‘œ μž‘μ„±λœ 클래슀(Servlet도 포함됨, package, μΈν„°νŽ˜μ΄μŠ€ λ“±), 각쒅 μ„€μ • 파일 등이 ν¬ν•¨λ©λ‹ˆλ‹€. μžλ°” μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 폴더 ꡬ쑰 web.xml 파일 μ€‘μš”ν•˜λ‹€ 정도 μ„œλΈ”λ¦Ώμ΄λž€? μžλ°” μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ κ΅¬μ„±μš”μ†Œ 쀑 동적인 처리λ₯Ό ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ˜..
2.2 μ›Ή κ°œλ°œν™˜κ²½ μ„€μ • 1) Tomcat λ‹€μš΄λ°›κΈ° 및 μ„€μΉ˜ν•˜κΈ° Apache Tomcatμ΄λž€? μ•„νŒŒμΉ˜ ν†°μΊ£(Apache Tomcat)은 μ•„νŒŒμΉ˜ μ†Œν”„νŠΈμ›¨μ–΄ μž¬λ‹¨(Apache Software Foundation, ASF)μ—μ„œ κ°œλ°œν•œ μ„Έκ³„μ—μ„œ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” WAS(Web Application Server)μž…λ‹ˆλ‹€. 컴퓨터에 운영체제λ₯Ό μ„€μΉ˜ν•΄μ•Όλ§Œ 컴퓨터λ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” κ²ƒμ²˜λŸΌ, μžλ°”λ₯Ό μ΄μš©ν•˜μ—¬ μž‘μ„±λœ μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ€ WASκ°€ μžˆμ–΄μ•Όλ§Œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” WASκ°€ μ•„νŒŒμΉ˜ 톰캣이라고 말할 수 μžˆμŠ΅λ‹ˆλ‹€. μ•„νŒŒμΉ˜ 톰캣은 μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈ μ›¨μ–΄λ‘œμ¨ λˆ„κ΅¬λ‚˜ 무료둜 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 참고둜 Tomcat은 'μˆ˜κ³ μ–‘μ΄'λ₯Ό λœ»ν•©λ‹ˆλ‹€. ν†°κ³Ό 제리의 톰이 μƒκ°λ‚˜κΈ°λ„ ν•©λ‹ˆλ‹€. Tomcat 8버전은 JDK 7μ΄μƒμ—μ„œ λ™μž‘ν•˜λ©°..
2.1 Web개발의 이해 1) μ›Ή ν”„λ‘œκ·Έλž˜λ°μ„ μœ„ν•œ ν”„λ‘œκ·Έλž¨ μ–Έμ–΄λ“€ μ €κΈ‰ μ–Έμ–΄ μ €κΈ‰ μ–Έμ–΄λŠ” 기계 μ€‘μ‹¬μ˜ 언어라고 말할 수 μžˆμŠ΅λ‹ˆλ‹€. 기계가 직접 μ•Œμ•„λ“€μ„ 수 μžˆλŠ” 말둜 'ν”„λ‘œκ·Έλž¨ μ½”λ“œλ₯Ό μž‘μ„±ν•œλ‹€'κ³  말할 수 μžˆμŠ΅λ‹ˆλ‹€. μ»΄ν“¨ν„°λŠ” μ „κΈ°λ‘œ λ™μž‘ν•©λ‹ˆλ‹€. 즉, μ „κΈ°μ‹ ν˜ΈμΈ μΌœμ‘Œλ‹€(on)와 κΊΌμ‘Œλ‹€(off) 2가지 μƒνƒœ κ°’μœΌλ‘œ λ™μž‘ν•œλ‹€κ³  말할 수 μžˆμŠ΅λ‹ˆλ‹€. 보톡 숫자둜 ν‘œν˜„ν•˜λ©΄ μΌœμ‘Œλ‹€λŠ” 1, κΊΌμ‘Œλ‹€λŠ” 0을 μ˜λ―Έν•©λ‹ˆλ‹€. 0κ³Ό 1둜 ν‘œν˜„λ˜λŠ” 숫자λ₯Ό μš°λ¦¬λŠ” 2μ§„μˆ˜λΌκ³  λ§ν•©λ‹ˆλ‹€. 2μ§„μˆ˜λ‘œ 이뀄진 κ°’μœΌλ‘œ μž‘μ„±ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό 기계어(Machine Language)라고 λ§ν•©λ‹ˆλ‹€. 숫자둜만 λ˜μ–΄ 있기 λ•Œλ¬Έμ— μœ μ§€λ³΄μˆ˜λ„ ꡉμž₯히 μ–΄λ ΅μŠ΅λ‹ˆλ‹€. 숫자둜만 된 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” μ‚¬μš©μ΄ ꡉμž₯히 μ–΄λ €μ› μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ, 이 숫자둜 된 λ¬Έμž₯κ³Ό 1:1둜 λŒ€μ‘ν•˜λŠ” 기호λ₯Ό..