톰캣 6.0 설정
- 비주얼스튜디오나 닷넷을 설치하지 않은 경우엔 msvcr71.dll 없기 때문에,
이럴 경우엔 다운받아 windows/system32 하위에 붙여넣자!!!
- 톰캣 6.0에서의 서블릿 제한풀기
1) conf/web.xml에서의 invoker 주석을 해제 시킨다!!
2) conf/context.xml 에서 Context태그에 속성에 아래와 같이 추가
<Context reloadable="true" privileged="true">
1. MVC모델(패턴) 이란?
어플리케이션을 만드는 방법에 관한 이론중 하나!!
어플리케이션을 M,V,C로 분리하여 개발하는 방법에 관한 이론
M - Model(모델 : 비즈니스 로직 수행 담당영역)
V - View(뷰 : 결과를 보여주는 영역)
C - Controller(컨트롤러 : 모델과 뷰사이에서 흐름제어 담당)
2. 모든 어플리케이션의 업무처리 과정
1) 요청을 받는다 - C
2) 요청에 대한 분석 - C
3) 요청에 알맞는 비즈니스 로직 수행 - M
4) 비즈니스 로직 수행후의 결과를 저장할 것이
있다면 결과저장(* 뷰로 가져갈 결과) - C
5) 결과 보여주기 - V(디자인)
웹기반의 어플리케이션 구축 방법
1. 스크립트 기반(only jsp로만 구축하는 경우) -- 규모가 작은 asp나 php같은 경우에
asp,php,jsp 만으로 어플리케이션을 구축하는 경우
장점 - 개발시간이 빠르다.(프로그래머 1~2명으로 구축)
단점 - 재사용성이 떨어진다.
유지보수가 어렵다.(html과 jsp로직이 섞여 있으므로 코드 구별이 힘들다)
공동작업이 불가능하다.
* 주의할점 : asp,php,jsp만으로 개발하는 것 자체가 무조건 나쁘다는 것은 아니다!!!
규모가 작을땐, 개발시간이 단축되어 오히려 생산성이 뛰어나다.
2. 스크립트 + java 연동(모델1)
3. 스크립트(view) -- 규모가 큰경우에
서블릿(Controller)
자바(Model)
(모델2 mvc방식)
@ Controller에서 view에게 결과값을 넘겨줄때 (4번과정) get방식으로 전송할 수는 있지만
제한적이고 여러 단점이 존재한다.(스트링형만 전송가능, 일반객체는 전송 x, url에 노출됨 등등)
그래서 jsp태그의 forward(전달) 기능을 이용
<jsp:forward page="보낼 페이지">
<jsp:param name="변수" value="<%=변수%>"></jsp:param>
</jsp:forward> 희안하게 결과페이지가 아니라 보낸 페이지에서 결과가 출력됨 (요청이 유지됬다!!)
.java 응용
.java 웹용 = 서블릿
.jsp
J2EE기반의 어플리케인션 구축시 mvc모델을 구현했을때 각각의 알맞는 처리 주체는 ?
Model - java (POJO: plain Old Java Object)(웹/응용등)어떤 플랫폼에도 영향을 받지 않는 중립적 자바클래스
View - 웹기반에서 보여주는 부분을 담당
jsp,servlet 둘다 웹용 디자인이 가능하지만 servlet은 디자인 용도로 사용하긴엔 효율성이 떨어진다.
따라서 view는 jsp가 담당!!!
Controller - 컨트롤러는 웹기반의 요청을 받을 수 있어야 하므로 웹서버에서 실행이 가능한 누군가에 의해
담당되어져야 한다.
servlet : 웹서버에서 실행되는 자바의 클래스이므로 웹기반의 요청을 처리하는 컨트롤러로써
사용하기에 적합하다!!!
@자바에서 MVC모델을 위와 같이 각파일 기능을 분담하여 구현한 것을 model 2라고 한다.