HttpServletRequest 객체 : Http 즉 웹요청을 Servlet에서 받아서 처리하기위해 사용하는 객체
--> request.getParameter("폼에서 넘긴 name")
ResultSet : 반환값을 저장할 공간을 마련하는 객체
GET방식 : URL에 파라미터를 넘기는 방식으로 URL의 끝에 "?"를 추가하고
name=value 형식으로 추가되며 두개이상은 &를 붙여
?name=value&name=value&name=value.... 로 다수의 파라미터를 넘길 수 있다.
Model(데이터베이스와 접속을 관리(트랜젝션제어)하고 sql을 제어하는 데이터베이스와 관련된부분)과
View(Model에서 가져온 데이터들이 화면에 표시되는 부분)와
Controller(URL처리 및 파라미터, 기능제어) 부분들을 나누어 각 파트별로 개발을 하게 됩니다.
- 유지보수가 편해집니다.
- 테스트가 쉬워집니다.
- 분업이 용이해집니다.
그리고 각 파트별로 지원되는 라이브러리들이 많이 존재하여 보다 풍부한 사용자경험(UX)과 화려한 인터페이스(UI)를 가진
Rich Internet Application(RIA)의 개발이 가능해집니다.
request.setAttribute() : getParameter()와 반대로 페이지에서 해당 변수들을 사용할 수 있게합니다.
컨트롤러:해당 URL을 파악하고 해당하는 java 액션(위의 스크립트릿에 들어있는 기능)파일을 찾아 매치시켜주고,
해당 액션이 실행되면 request.setAttribute()에 의해 넘어온 값들을 jsp페이지로 포워딩시켜주는 역할
Entity Beans :데이터베이스에서 가져온 데이터들을 담는 그릇
- DB에 저장된 데이터를 객체로 표현하기위한 EJB Component
- Entity Bean의 내용은 DB의 내용과 일치
- Entity Bean하나의 객체는 DB 테이블의 하나의 row와 mapping됨
- DB의 하나의 행(recode, row, entity)은 여러개의 열(column, attribute)을 가지고있는데
- 각각의 attribute는 Bean객체의 멤버필드에 값이 저장됨
그림 1. MVC 패턴 추상화
Action(클래스명) : 자바파일..모든 비지니스로직(로그인, 데이터가져오기, 세션처리, 유효성검증 등등)을 수행
뷰(jsp)에서 필요한 데이터만 jsp페이지로 넘겨줍니다.
요청 ->.jsp가 아닌 .do 또는 .action 와같은 방식으로 URL을 요청
컨트롤러: 요청을 해당 Action에 맵핑시키기위해 해당 맵핑정보가 들어있는 properties파일(보통의 텍스트파일)을 읽고 해당 클래스를 사용할 수 있게끔 해준뒤, 해당 클래스를 실행
모델 : 데이터베이스의 접속(트랜젝션관리, 커넥션풀 관리 등)과 각종 쿼리들을 처리할 수 있도록 메소드 빈 형식으로 구성됩니다.
데이터베이스에 접근한 뒤 필요한 데이터를 반환하거나 수정, 삭제작업을 하고,다시 Action으로 돌아와서 뷰에서 필요한 데이터들을 jsp페이지로 보내면서 View로 반환 -------> "dispatcher"
ex) 로그인
login.do 요청 > 컨트롤러에서 매핑정보 login.do = LoginAction(properties파일) 을 가지고 해당 LoginAction 실행 >
LogionAction에서 모델에 넘어온 id값과 pw값을 가지고 Model에 쿼리실행 > LoginAction에서 로그인처리 >
로그인 성공 or 실패 페이지(jsp) 로 반환
dao :데이터 접근 객체(Data Access Object)