MVC란?
Model의 역할 = 프로그램 내부상태. 프로그램의 정보(데이터)를 나타냄. 임시 변수, DB insert. 개발자가 분담.
View => 인터페이스. 보여지는 것 = 프론트엔드 영역. 디자이너가 분담
Controller의 역할 = 데이터와 비즈니스 로직 간의 상호작용. 정보를 조종하는 화살표. 화면 이동. 개발자가 분담
controller는 url주소와 밀접한 관계가 있다.
controller는 어떤 원리로 주소를 연결시켜주는걸까?
controller에서 return "view폴더의 파일이름";으로 연결시킨다.
만약 리턴이 없으면 해당 url주소와 같은 이름을 찾아서 그 파일로 이동한다.
MVC에는 2가지 버전이 있음.
MVC1은 작업의 분업화가 어렵지만 구조가 간단함.
MVC1을 사용하면
개발이 간단하고, 쉽게 구현 가능. 구조가 간단함.(중소형 프로젝트에 적합)
그러나 복잡한 개발 시 유지보수가 어렵고 디자인/개발의 역할분담이 어려움(한파일에 동시에 두명이
작업해야하는데 그건 너무 비효율적임...)
MVC2는 분업이 효율적이지만 구조가 복잡함.
대기업에서는 플젝규모가 크므로 MVC2구조로 작업함.
웹브라우저(crome)->url주소입력 ->basic.jsp
1. 메인페이지(main.jsp)->뉴스(news.jsp)
화면에서 화면으로 이동. 단순히 넘어가기만 함
(파라미터) (매개변수)
2. 회원가입(member.jsp)-> id,비밀번호 등 입력 -> Model(클래스.객체.MVC의 모델뜻 아님) -> DB -> 메인(main.jsp)
화면에서 화면으로 이동하는 도중에 사용자가 입력을 함.
데이터 전송방식 2가지
get방식 - 빠름. 정보 조회를 위해 설계됨
1. <a href="a.jsp></a>
2. <form action="a.jsp" method="get">
<input>
</form>
post방식 - 느림. 보안상승? 정보 생성/변경을 위해 설계됨
<form action="a.jsp" method="post">
<input>
</form>
action이하의 내용의 콘트롤러를 실행하게 됨.
method이하의 내용은 전송하는 방식을 의미
변수 저장 ? 방식
모델을 적용해서 저장
배열을 적용해서 저장
가변배열 / 고정배열
pom.xml
자료를 다운로드 받는 역할. dependency태그로 추가함.
servlet-context.xml
스프링 프레임워크 환경설정. 프론트엔드 관련
root-context.xml
백엔드관련 환경설정
web.xml
서버(톰캣) 구성 환경설정. 스프링이랑 상관x.
return "ex01"; =>포워드방식
return ":redirect/ex01"; =>리다이렉트방식