본문 바로가기
Programming/Spring

[Spring] Controller 객체 구현

by 공부합시다홍아 2024. 5. 15.
 

[Spring] JSP에 스프링 조합하기

[JSP] Action Tag, 액션 태그[JSP] 예외 페이지[JSP] 쿠키와 세션 - 세션[JSP] 쿠키와 세션 - 쿠키[JSP] 내장 객체[JSP] GET과 POST[JSP] 태그[JSP] 서버와 클라이언트👨‍💻웹 프로그래밍이란?- 웹 프로그래밍이

hong-study.tistory.com


@Controller

@Controller Annotation은 Component를 구체화하여 만든 Annotation으로 해당 클래스를 IoC 컨테이너에 Bean으로 등록해주며 Controller로 사용한다는 것을 알려준다.


@RequestMapping 을 이용한 URL 맵핑

  • 우리는 특정 uri로 요청을 보내면 Controller에서 어떠한 방식으로 처리할지 정의를 한다.
  • 이때 들어온 요청을 특정 메서드와 매핑하기 위해 사용하는 것이 @RequestMapping이다.
  • @RequestMapping에서 가장 많이사용하는 부분은 value와 method이다. (더 많지만 여기서는 여기까지만)
  • value는 요청받을 url을 설정하게 된다.
  • method는 어떤 요청으로 받을지 정의하게 된다.(GET, POST, PUT, DELETE 등)

예를 들면 http://localhost:8181/lec18/memJoin 이라는 주소가 호출이 되면
RequestMapping("memJoin")을 통해서 Controller로 화면에서 요청이 들어오게 된다.

요청 파라미터 ( request )

HttpServletRequest 객체를 이용한 HTTP 전송 정보 얻기 ( 전통적 방식 )


@RequestParam 어노테이션을 이용한 HTTP 전송 정보 얻기 ( 단일 값 얻을 때 사용 )

해당 어노테이션의 추가 속성

  • required - 해당 파라미터가 필수가 아닌 경우 지정
  • defaultValue - required 지정시 기본 값을 지정


커멘트 객체를 이용한 Http 전송 정보 얻기 

vo 객체에 동일한 setter가 있다면 자동으로 저장

이걸 이용해 특정 Primary Key 값을 가져오거나, 원하는 값을 불러오거나 했던 거 같다.
특히 VO 객체를 활용해 Session 값을 불러 보내주거나, 게시판에 사용자 정보를 뿌려줄 때 자주 사용했다.


Model 전달자 - 화면에 데이터를 전달하기 위한 객체


Model & ModelAndView

  • 컨트롤러에서 뷰에 데이터를 전달하기 위해 사용되는 객체로 ModelModelAndView가 있다.
  • Model은 뷰에 데이터만을 전달하기 위한 객체
  • ModelAndView는 데이터와 뷰의 이름을 함께 전달

Model

ModelAndView


@ModelAttribute

ModelAttribute를 이용하면 커맨드 객체의 이름을 변경할 수 있고, 변경된 이름은 뷰에서 커멘드 객체를 참조할 때 사용


EL에 관한 내용

  • EL은 컨트롤러에서 비즈니스 로직을 실행한 결과를 JSP 문서 내에서 출력하기 위한 용도로 사용
  • EL의 표현방법은 ${ } 사이에 표현식
  • 표현식에는 Scope 변수를 이용하여 Scope 변수에 바인딩 되어 있는 객체의 메서드를 호출
  • Scope 변수는 Request, Session, Application을 의미
  • 만일 request 객체에 회원 객체가 바인딩 되어 있을 경우, 회원의 이름을 출력하기 위해 
    ${memeber.name} 또는 ${member["name"]}을 이용한다.


JSTL에 관한 내용

JSTL은 표준화된 태그 라이브러리들을 제공함으로써 보다 편리하게 웹 응용프로그램을 개발 할 수 있도록 지원한다.
메이븐 POM.XML에 추가 되어 있어, 별다른 다운 없이 사용 가능하다. ( 폐쇄망일 경우 다운로드 )

728x90

'Programming > Spring' 카테고리의 다른 글

[Spring] JDBC ( MySQL )  (0) 2024.05.26
[Spring] DAO 객체의 구조  (0) 2024.05.15
[Spring] JSP에 스프링 조합하기  (0) 2024.05.15
[Spring] 스프링 MVC 웹 서비스  (0) 2024.05.15
[Spring] 개발 환경 구축  (0) 2024.05.15