λ‚Œλ‚Œ
ggim
λ‚Œλ‚Œ
전체 방문자
였늘
μ–΄μ œ
  • β—Ύβ—½ (96)
    • πŸ’¬PL (8)
      • πŸ’«Java (8)
    • πŸ’ΎDB(Database) (2)
      • β­•Oracle (1)
    • πŸ κ΅­λΉ„μ§€μ›ν•™μ› (76)
      • πŸ“–Java μˆ˜μ—… (28)
      • πŸ“–DB μˆ˜μ—… (14)
      • πŸ“–HTML μˆ˜μ—… (5)
      • πŸ“–CSS μˆ˜μ—… (3)
      • πŸ“–JavaScript μˆ˜μ—… (8)
      • πŸ“–JSP μˆ˜μ—… (13)
      • πŸ“–Spring μˆ˜μ—… (5)
    • πŸ’»κ°œμΈ 곡뢀 (1)
      • μžλ°”μ˜ 정석 (1)
    • πŸ’Ό (8)
      • βœ…κΈ°λ³Έ μ„€μΉ˜ (6)
      • 🐧Linux (2)
    • πŸ”₯닀짐 (1)

λΈ”λ‘œκ·Έ 메뉴

  • Home
  • νƒœκ·Έ
  • λ°©λͺ…둝

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
λ‚Œλ‚Œ

ggim

[Spring] 학원 230504(λͺ©)
πŸ κ΅­λΉ„μ§€μ›ν•™μ›/πŸ“–Spring μˆ˜μ—…

[Spring] 학원 230504(λͺ©)

2023. 7. 15. 14:20

 * Framework

  - 자주 μ‚¬μš©λ  κΈ°λŠ₯을 미리 κ΅¬ν˜„ν•΄ 놓은 것 ( 생산성ν–₯상 )

  - λ°°ν¬λŠ” .jar둜 μˆ˜ν–‰

  - μ œκ³΅λ˜λŠ” κΈ°λŠ₯을 μ‚¬μš©μžμ— 상황에 맞게 μˆ˜μ •ν•˜μ—¬ μ‚¬μš©ν•˜κ³ , 생λͺ…μ£ΌκΈ°μ˜ 관리λ₯Ό

    κ°œλ°œμžκ°€ ν•˜μ§€ μ•ŠλŠ”λ‹€.

  - 반 μ‘°λ¦½ν˜•νƒœ.

  - μ΅œμ†Œν•œμ˜ ν’ˆμ§ˆ 보μž₯을 λ°›κΈ° μœ„ν•΄ ν”„λ ˆμž„μ›Œν¬λ₯Ό λ„μž…ν•œλ‹€.

  - Spring, MyBatis, any framework,,,,

 

 * Library

  - 자주 μ‚¬μš©λ  κΈ°λŠ₯을 미리 κ΅¬ν˜„ν•΄ 놓은 것. ( 생산성ν–₯상 )

  - λ°°ν¬λŠ” .jar둜 μˆ˜ν–‰.

  - μ œκ³΅λ˜λŠ” κΈ°λŠ₯을 κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜κ³ , 생λͺ…μ£ΌκΈ°λ₯Ό κ°œλ°œμžκ°€ κ΄€λ¦¬ν•œλ‹€.

 

ꡬ뢄 classμ‚¬μš© CBD Framework
컴퓨터 쑰립      
κ°œλ°œλ‚œμ΄λ„ 상 쀑 ν•˜
κ°œλ°œμ†λ„ 느림 쀑 상
ν’ˆμ§ˆ μ΅œμƒ(λͺ©μ μ— 맞게) 쀑 ν•˜
λ™μž‘μ†λ„ 상 쀑 ν•˜

 * Spring

 - spring.ioμ—μ„œ 무료 μ œκ³΅ν•œλ‹€.

 - Spring IoC(Inversion of Control)μ—μ„œ Spring framework 으둜 λ³€ν™˜.

 - Spring DI, AOP, ORM, Web, MVC, JDBC λ“± λ‹€μ–‘ν•œ κΈ°λŠ₯을 제곡.

 

 * Spring MVC

 - MVC Pattern을 미리 κ΅¬ν˜„ν•΄μ„œ μ œκ³΅ν•˜λŠ” Spring의 κΈ°λŠ₯.

 - μ„€μ •νŒŒμΌ 없이 annotation을 μ‚¬μš©ν•˜μ—¬ κ°„λ‹¨ν•˜κ²Œ 업무λ₯Ό μ²˜λ¦¬ν•  수 μžˆλ‹€.

 - DispatherServlet을 Main Controller둜 μ‚¬μš©ν•œλ‹€.


 * DispatherServlet : μ§„μž…μ , JSP둜 이동. Web.xml에 등둝이 λ˜μ–΄μ•Όν•œλ‹€.

 * HandlerMapper : μ›Ήμ˜ μš”μ²­μ΄ λ“€μ–΄μ˜€λ©΄ μš”μ²­μ„ μ²˜λ¦¬ν•  수 μžˆλŠ” Controllerλ₯Ό

                        μ°Ύμ•„μ„œ λ°˜ν™˜ν•˜λŠ” 일

 * Controller : μ›Ήμ˜ μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” 일.

 * ViewResolver : μ‘닡을 μˆ˜ν–‰ν•˜λŠ” JSPκ°€ μ‘΄μž¬ν•˜λŠ” μ§€ μΆ”μ ν•˜λŠ” 일.

 * JSP : ν™”면을 μ œμž‘ν•˜μ—¬ λ³΄μ—¬μ£ΌλŠ” 일.


μ΄μ „μ˜ MVCμ—μ„œλŠ” μš”μ²­ URL을 XxxAction 클래슀 ν•˜λ‚˜κ°€ μ²˜λ¦¬ν–ˆλ‹€.

http://localhost/a.do => XxxAction 클래슀 ν•˜λ‚˜ ν•„μš”

μœ μ‚¬ν•œ μž‘μ—…μœΌλ‘œ 클래슀λ₯Ό 관리할렀면 packageλ₯Ό λ§Œλ“€μ–΄μ„œ 관리 => νŒ¨ν‚€μ§€ 개수 증가

 

Spring MVCμ—μ„œλŠ” μš”μ²­ URL을 methodν•˜λ‚˜κ°€ μ²˜λ¦¬ν•œλ‹€.

http://localhost/a.do => XxxController.method() method ν•˜λ‚˜ ν•„μš”

μœ μ‚¬ν•œ μž‘μ—…μ„ κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄μ„œ ν΄λž˜μŠ€κ°€ μž‘μ„± => νŒ¨ν‚€μ§€κ°―μˆ˜ μ¦κ°€ν•˜μ§€ μ•ŠμŒ!!


 * Controller μž‘μ„±λ²•

 1. 클래슀 μœ„μ— @Controller annotation을 μ„ μ–Έν•œλ‹€.

 

  @Controller

   public class Test{

 

 2. methodλ₯Ό  μ‚¬μš©ν•˜μ—¬ web의 μš”μ²­ ν•˜λ‚˜λ₯Ό μ²˜λ¦¬ν•œλ‹€.

  methodμœ„μ— @RequestMapping annotation을 μ‚¬μš©.

  

  @RequestMapping( value=“/μš”μ²­url”, method=μš”μ²­λ°©μ‹ ) // method = RequestMethod.GET, RequestMethod.POST

  public String  methodλͺ…( λ§€κ°œλ³€μˆ˜,,,, ){ // λ§€κ°œλ³€μˆ˜λŠ” Web parameterλ₯Ό λ°›κΈ° μœ„ν•΄ μ •μ˜

 

      return “viewνŽ˜μ΄μ§€λͺ…”;

  }

 

 - Spring MVCμ—μ„œλŠ” Web의 μš”μ²­μ„ method둜 μ²˜λ¦¬ν•œλ‹€.

 

 * POJO(Plain Old Java Object) 지원

  - νŠΉμ • μ™ΈλΆ€ κΈ°μˆ μ„ ν¬ν•¨ν•˜μ§€ μ•Šκ³  μžλ°”μ—μ„œ μ œκ³΅ν•˜λŠ” 데이터 ν˜•(κΈ°λŠ₯)만

    μ‚¬μš©ν•˜μ—¬ μ œμž‘ν•˜λŠ” 클래슀. ( μ‹€ν–‰ 및 ν…ŒμŠ€νŠΈ μš©μ΄μ„±)


 * Spring MVC의 Controller(클래슀)λŠ” ν•˜λ‚˜μ˜ μž‘μ—…μœΌλ‘œ λ¬Άμ—¬μ§ˆ 수 μžˆλŠ” μ„ΈλΆ€μž‘μ—…μ„ μ •μ˜

 

예) 둜그인 처리

  public class LoginController{

    public String loginForm(){

    }

   public String loginProcess(LoginVO lv){

    }

  }

 

 

 * Controllerμ—μ„œ method  μš”μ²­

 @RequestMapping  : methodμœ„μ— μ„€μ •, URL( URI )둜 μš”μ²­μ΄ λ°œμƒν–ˆμ„ λ•Œ

  methodκ°€ ν˜ΈμΆœλ˜μ–΄ μ‹€ν–‰ λœλ‹€.

 

 - GET방식

  @RequestMapping(value=“/URI”, method=RequestMethod.GET )

  -spring 5.xμ΄μƒμ—μ„œλŠ”

  @GetMapping(“URI”)

  public String method(){

 

 - POST방식

 @RequestMapping(value=“/URI”, method=RequestMethod.POST )

  @PostMapping(“URI”)

  public String method(){

 

 - GET| POST방식 : λ°°μ—΄μ˜ 문법을 μ‚¬μš©

 @RequestMapping(value=“/URI”, method={RequestMethod.GET, RequestMethod.POST })

  public String method(){


* 응닡 νŽ˜μ΄μ§€λŠ” μš”μ²­μ— μ˜ν•΄ ν˜ΈμΆœλ˜λŠ” methodκ°€ return 값을 λ°›μ•„ ViewResolver객체가

  μ‘λ‹΅νŽ˜μ΄μ§€λ₯Ό μ°Ύμ•„ μ‹€ν–‰ν•œλ‹€.

 

  public String methodλͺ…(){

 

   return “viewλͺ…”

  }

 

 return λ˜λŠ” 값은 ViewResolverκ°€ μ•žμ— (prefix) /WEB-INF/views/ λ₯Ό 뢙이고

 λ’€  ( suffix )에  .jspλ₯Ό λΆ™μ—¬μ„œ JSPλ₯Ό μ°ΎλŠ”λ‹€.

 

예)   "test"κ°€ return λ˜λŠ” 경우.

   /WEB-INF/views/test.jspλ₯Ό  μ°ΎλŠ”λ‹€.

 


μ½˜μ†”μ°½μ— No mapping이 λœ¬λ‹€λ©΄ 

첫번째둜 @Controller μ–΄λ…Έν…Œμ΄μ…˜μ΄ 잘 μ„€μ • λ˜μ–΄μžˆλŠ”μ§€ ν™•μΈν•˜μž. κ·Έλž˜λ„ No mapping이라면

@RequestMapping μ–΄λ…Έν…Œμ΄μ…˜μ„ μ°Ύμ•„μ„œ ν™•μΈν•΄λ³΄μž.

 

μ’€ 더 νŽΈν•˜κ²Œ μ‚¬μš©ν•˜λ €λ©΄ μ•„λž˜ 사진과 같이 @GetMappingκ³Ό @PostMapping을 μ‚¬μš©ν•˜λŠ” 방법이 μžˆλ‹€. 

 

Domain이 Model둜

'πŸ κ΅­λΉ„μ§€μ›ν•™μ› > πŸ“–Spring μˆ˜μ—…' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Spring] 학원 230517(수)  (0) 2023.07.15
[Spring] 학원 230516(ν™”)  (0) 2023.07.15
[Spring] 학원 230510(수)  (0) 2023.07.15
[Spring] 학원 230508(μ›”)  (0) 2023.07.15
    'πŸ κ΅­λΉ„μ§€μ›ν•™μ›/πŸ“–Spring μˆ˜μ—…' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [Spring] 학원 230517(수)
    • [Spring] 학원 230516(ν™”)
    • [Spring] 학원 230510(수)
    • [Spring] 학원 230508(μ›”)
    λ‚Œλ‚Œ
    λ‚Œλ‚Œ
    zzZ zzZ zzZzz

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”