@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
- 컨트롤러에서 뷰에 데이터를 전달하기 위해 사용되는 객체로 Model과 ModelAndView가 있다.
- 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 |