Hello World

I can do it!
설명 : varStatus 속성 : forEach 문이 반복할 때 관리되는 상태 값을 사용할 수 있게 하는 속성. 위의 그림처럼 forEach의 상태객체에 변수명을 st로 설정(varStatus="st")하면 그 변수명을 통해서 다음처럼 상태 값들을 이용할 수 있다. ${st.current} 현재 반복되는 아이템 ${st.index} 현재 반복되는 반복 인덱스(0부터 시작함) ${st.count} 현재 반복 횟수 ${st.first} 현재 아이템이 첫번재 아이템인지를 알려줌(true 또는 false) ${st.last} 현재 아이템이 마지막 아이템인지를 알려줌(true 또는 false) ${st.begin} begin 속성에 설정한 값 ${st.end} end 속성에 설정한 값 ${st.step} 반복되..
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클래스를 이용하여 매개변수가 들어갈 자리..
병아리개발자Mr Jo
'web_배우고익히고' 카테고리의 글 목록 (3 Page)