Hello World

I can do it!
MVC2 모델을 이용한 View(출력되는 JSP파일)에 출력시 JAVA코드를 사용하는것이 아닌 EL이란 언어로 쉽게 표기 할 수 있다.식이 엄청 간편해짐 (JSP에 EL이 뒤늦게 포함되었다고 한다.) 아래 그림과 실제 코드를 보자. 실제 코드 서블릿 클래스(Contoller) JSP파일(View EL사용)
MVC model1 의 단점 : 물리적으로 분리되지 않은 방식 MVC model2 : 컨트롤러와 뷰가 물리적으로 분리된 방식 (코드가 물리적으로 완전히 분리됨) MVC2방식의 예제 코드) 실행흐름과 실제 코드 1. 서블릿 클래스(Controller 제어) 2.JSP파일(View 출력)
JSP로 만든 복잡한 페이지를 스파게티(실타레) 코드라고 한다. 아레 ex) 아래 JSP에서 여러 코드 블록으로 나누어도 결국 서블릿으로 변환시 jspService 메서드 안에서 실행되기때문에 출력상 문제는 없다. 하지만 도중에 HTML코드랑 섞여 있어 코드 보기가 어렵다. (단점)
계속 강조되는 JSP의 장점 서블릿의 HTML코드를 일일이 PrintWriter객체를 이용하여 출력 할 필요가 없다. JSP에는 HTML코드 안에 JAVA코드를 삽입하여 서블릿으로 직접 작성 하는것보다 훨씬 편하다. 또한 내장 객체가(request,out) 선언없이 출력 및 값을 가져올때도 훨씬 용이하다. 아래 jsp ex)
JSP의 내장 객체 JSP가 만들어낸 서블릿 클래스는 내가 모르는 변수들이 있다. 내장 객체로 사용중인 변수는 JSP에서 사용 불가 ex) page 등 아래 그림 참조 각 객체에 대한 메소드 정리
JSP의 편의성 기존 서블릿을 이용한 HTML파일을 동적으로 만들려면 서블릿(java)파일 안에 PrintWrinter객체를 이용하여 HTML코드를 하나하나씩 출력하여야 했다. 그러나 JSP를 만들어 HTML파일 안에 코드블록을(java코드) 삽입함으로 쉽게 동적 HTML파일을 만들 수 있다. (정확히는 우리가 JSP파일을 만들면 코드를 입력하면 JSP는 알아서 서블릿 파일의 HTML코드를 하나하나씩 PrintWriter객체를 이용해 출력해주는 거다.) 아래 Jsp파일 ex) JSP로 만들어진 실제 서블릿 파일은 이클립스 워크스페이스 (임시 배포 디렉터리) 안에 저장되어 있다. 아래ex) JSP가 만들어낸 서블릿 파일을 열어보면 알아서 HTML코드를 out.write로 출력 한것을 볼 수 있다. 조금더 ..
앞서 작성한 (32~37강) 계산기 예제에 각 서블릿 클래스파일을 하나의 서블릿으로 합쳐보자. 실직적 계산을 실행하는 calc3 서블릿 동적 HTML 페이지를 보여주는 calcpage 서블릿 하나의 서블릿에 각 GET,POST 요청방식에 맞는 코드를 복사 붙혀넣기 한다. GET방식에 calcpage POST방식에 calc_var3 하나의 서블릿 파일에서 작동하는것을 볼 수 있다. 위 과정의 장점은 관리가 수월하다는점이 있다. 쿠키.path 및 Redirect 메소드 이용시 자신의 페이지를 불러와 관리가 쉽다는 점이다.
GET,POST 요청을 doGet,doPost 함수로 나누어 각 요청방식에 맞는내용을 오버라이드 할 수 있다. 만약 GET,POST방식을 모두 사용하고 공통으로 작성해야 하는 부분이 있을때는 service메소드를 불러와서 진행한다.
서버에서 페이지간의 전환은 responese 객체의 아래 메소드를 사용하면 된다. res.sendRedirect("calcpage"); 서블릿을 이용해 동적인 계산기를 만들어보자. 서블릿 클래스에서 HTML코드 작성 PrintWriter을 이용해야 하므로 엄청난 시간이 걸린다. ex) HTML 출력은 아래와 같이 나온다. 각 버튼을 누르면 쿠키를 이용해 클라이언트 측에 정보가 가도록 해놓아 계산까지 완료 exp변수에 누적된 계산식을 스크립트 엔진을 사용하려 출력 하도록 함. (그 외 쿠키 값 저장 및 꺼내서 계산) 또한 쿠키값이 저장될때 C버튼을 누르면 쿠키값이 비워지도록 하였다. (33~38강 내용.)
Application 상태값을 전역으로 공유. WAS가 종료될때까지 Session 상태값을 사용자(브라우저) 범위로 공유. WAS가 종료될때까지 Cookie 클라이언트에 상태값 저장 특정범주에 대한(URL에 대한) 데이터를 사용할 수 있다. 만료시간이 있어 상태값을 오랫동안 저장 가능.
병아리개발자Mr Jo
'web_배우고익히고' 카테고리의 글 목록 (8 Page)