Hello World

I can do it!
View단에 스크립트(JAVA 코드) 없이 사용하기 위해 JSTL 이란것을 사용한다.(JSP 표준 태그 라이브러리) JSP에 여러 사용자 태그를 만들수가 있으며 그것을 표준화한 태그 라이브러리가 JSTL이다. JSTL의 범주는 크게 5가지 이나 Core,Formating,Functions 3지만 설명 한다고 한다. SQL,XML태그 사용시 MVC패턴의 흐름이 깨지기 때문.. Core는 제어의 행위를 담당. Formationg는 데이터 형식 변환(format) 담당 Functions EL을 통해 출력된 데이터를 가공하는 함수 모음 담당. JSTL사용시 접두사와 (prefix = "c") 태그를 제공하는 uri (uri="http//java.sun.com/jsp/jstl/core") 명시 해주어야 한다.
View(list.jsp)페이지에서 남아 있는 스파게티 코드(완벽한 MVC model2)를 없에기 위해 JSTL 태그를 사용해보도록 하겠다. 아래 왼쪽의 스크립트를 태그를 이용하여 오른쪽과 같이 변활 시킬 수 있다. 실제 JSTL 사용코드
방식이 MVC model2 페턴으로 바뀌면서 Controller가 먼저 실행 되고 정보가 담겨야 View페이지에서 출력할 수 있도록 되었다. 만일 Controller실행없이 View만 실행된다고 하면 담긴 데이터가 없으니 Null 에러가 뜰것이다. 클라이언트가 해당 View페이지를 Controller 실행없이 바로 접근할수 있는 경우의 수가 생길수도 있더 View를 클라이언트가 접속할수 없는 비공개 영역에 넣어 놓을 것이다. 이를 보고 페이지 은닉하기라고 부른다. 다시한번 요약 하자면 1. MVC2방식은 Controller가 물리적으로 나누어져 있어 Controller실행 없이 View를 실행하면 담긴 데이터가 없어 null 오류가 난다. 2. 1번 문제를 해결 하기 위해 View를 사용자가 접근할 수 ..
기존 MVC model1방식이였던 목록 페이지를 MVC model2 방식으로 리팩토링 해보자. controller로 분리시켜 NoticeListController 서블릿 클래스를 만들어주자. 1. ArrayList를 이용하여 OracleDB Notice목록을 ArrayList에 담아 주자. 2. 글목록 하나하나씩 list에 추가한다. 3. 추가된 목록을 list란 request영역 속성에 저장 후 4. list.jsp로 상태값을 전달한다. 5. View (list.jsp 출력) 1. controller(NoticeListController) 에서 받은 상태값을 jsp에서 List형식으로 다시 정의 한다. 2. 향상된 for문을 사용하여 controller에 담겨 있는 목록을 현제 페이지(pageConte..
MVC Model2 방식에서 Model 데이터를 구조화 해보자. 아래 그림처럼 여러 개체를 notice란 하나의 객체에 담고 싶다 그러기 위해선 JAVA에서 배웠듯이 아래 그림처럼 객체화 시킨후 출력쪽에서는 EL문법으로 스크립트 사용없이 바로 출력 시킬 수 있다. 실제 코드 Notice클래스 추가 getter,setter 생성자 생성 NoticeDetailController 서블릿 클래스에 객체화 시킨 Notice클래스를 불러와 하나하나의 값을 넣어준다. 출력부분 detail.jsp EL문을 사용하여 n객체에 담긴 상태값을 출력 한다.
54강 MVC Mdel1방식에서 MVC Model2 방식으로 리팩토링 해보자. MVC Model2 방식이란 기존 MVC Model1 방식이 JSP파일 안에서 제어와 출력 부분을 구분 지었다면 MVC Model2방식은 제어와 출력 부분을 물리적으로 나누어 놓는 것을 이야기 한다. 실제 작성물을 보면 제어부분은 서블릿 클래스로 모두 이전 하였다. 제어부분에 상태값을 출력부분까지 이어가기 위해 request영역에 속성값으로 저장을 하였다.(이저주는 Model작업) 출력부분(HTML) detail.jsp request객체에 담아놓은 상태값을 출력부분에서 불러온다.
52~53강에서 만든 코드를 보면 JSP파일 안에 스크립트로 Java코드가 군데군데 섞여 있는 것을 볼 수 있다. 이렇게 되면 난중에는 HTML코드와 더 뒤섞여 코드 보기가 더 어려워진다고 한다. 이것을 보고 스파게티 코드라고 한다. 이 문제를 해결하기 위해 MVC1 방식이 나왔는데 JSP파일 안에 JAVA 코드(Conttor제어) HTML코드(View출력)를 분리 시켜놓은 다음 둘을 이어 주는 최소한의 변수만(Model모델) 사용하는 것이다. 실제 코드 Java 제어 부분을 한 곳에 모아 놓은 다음 JSP 맨위쪽에다가 코드를 이동 시켰다. HTML 출력 부분 (제어부분과 이어주는 최소한의 변수 (Model)만 남긴체 JAVA코드와는 완전히 분리 된 상태 이다.) 코드만 리팩토링 되었을 뿐 출력결과는 5..
52강에 DB를 가져와 JSP파일에 출력시켜 보았다. 그럼 해당 글 제목을 눌렀을때 글 제목 및 내용응 볼 수 있는 페이지를 만들어보자. DB를 다루는데 PreparedStatment 클래스를 사용할것이다. Statement 클래스 - SQL 구문을 실행하는 역할 - 스스로는 SQL 구문 이해 못함(구문해석 X) -> 전달역할 - SQL 관리 O + 연결 정보 X PreparedStatement 클래스 - Statement 클래스의 기능 향상 - 인자와 관련된 작업이 특화(매개변수) - 코드 안정성 높음. 가독성 높음. - 코드량이 증가 -> 매개변수를 set해줘야하기 때문에.. - 텍스트 SQL 호출 중요 코드 1. DB연동 "?"는 PreparedStatment클래스를 이용하여 매개변수가 들어갈 자리..
== 중요내용 == 1. JDBC 드라이버 lib에 포함시키기 (이클립스 안에 해당 DB드라이버를 포함시켜야 Java와 DB간 연동 시킬 수 있다.) 2. JSP파일에 DB연동 시키는 기본 코드 사용하기 3. JSP스크립트를 이용하여 DB에 있는 글 실제 JSP파일에 출력해보기 (rs.next()으로 레코드 하나씩 탐색 EOF면 False를 반환) 4. 출력결과(해당 DB내용 정상 출력 확인)
뉴렉처님이 제공한 HTML파일을 가지고 JSP실습을 진행 과정에 전에 배운 필터와 충돌이 나서 필터 어노테이션에서 java파일만 맵핑시킨후 진행하였다. == 중요내용 == 1. JSP파일 만들때 아래 인코딩을 UTF-8로 바꾸는 문구는 필수로 선언해주어야 한다. 그래야 한글이 안깨진다..(하지만 이클립스통하여 JSP파일 생성하면 위문구는 자동으로 삽입된다.) 2. 게시글 목록을 스크립트를 이용하여 동적으로 만들어보는 실습을 해보았다. 출력결과
병아리개발자Mr Jo
'web_배우고익히고/6.뉴렉처_JSP강좌' 카테고리의 글 목록 (3 Page)