Hello World

I can do it!
getPostList에 실제 SQL 쿼리 문을 작성 해보자. 우리가 보는 페이지 에서는 최신 글부터 출력이 되야 하므로 SQL문을 이용하여 등록날짜를 기준으로 내림차순으로 정렬시킨다. 또한 우리가 보는 페이지에 게시글 목록 개수를 제한한다. 오라클에는 레코드의 목록번호를 볼 수 있는 ROWNUM이있어 번호를 이용한다. 다만 여기서 한가지 주의점은 ROWNUM은 레코드 작업이후에 번호목록이 붙어버리기 때문에 우리가 원하는 결과를 볼려면 서브쿼리를 이용하여 작성해주어야 한다. 아래 SQL질의문을 확인해 보면 1.안쪽부터 WRITERID가 cgu999인것중 FIRSTDATE를 기준으로 내림차순 한 테이블 별칭을 N으로 주었다. 2. N이란 테이블에 ROWNUM을 NUM 명칭으로 주었고 N의 모든 컬럼을 출력 ..
70강에 예고 하였던 서비스 클래스를 구현해보자. 70강부터는 뉴렉처 강의를 그대로 따라 하는 것이 아닌 강의 참조 후 개인 프로젝트에 적용 시켜볼 예정 1. 우선 페이지처리에 필요한 메서드를 담을 클래스를 만들어 패키지화 시킨다. (PostService클래스에 페이지 처리에 필요한 메서드를 만들 예정이다.) 페이지 처리에 구현할 함수명 각 동일시 되는 메서드에 파라미터 값을 다르게 주어(오버로딩) 함수의 코드 중복을 피한다. (대표 ex getPostList) 1. getPostList (게시글의 목록을 출력) 2. getPostCount (게시글 목록의 개수를 출력) 3. getPost (특정 게시글의 상세 내용 출력) 4. getPrevPost(이전 페이지 게시글 목록 출력) 5. getNextPo..
서비스 레이어를 분리하고 어떤 서비스함수가 있는지 찾아보자 우선 공지 시스템을 만들기 전에 아래 와같은 기능이 구현되어야 하는 것을 볼 수 있다. 그중 회원이 가져야할 서비스를 봐보자. 다음 강의 부터 해당 함수를 이용하여 서비스를 구현해보자.
일반적으로 기업에서는 유지 보수 및 업무분담을 위해 레이어를 나눈다. 게인은 필요에 코드를 위 그림처럼 나눌지 말지 어떤 방식이 더 편한지 선택하면 된다.
ServletContextListener 웹 컨테이너는 웹 어플리케이션(컨텍스트)이 시작되거나 종료되는 시점에 특정 클래스의 메서드를 실행할 수 있는 기능을 제공하고 있다. contextInitialized() 웹 어플리케이션 실행시 첫 한번만 실행된다. contextInitialized() 메서드 내용에 커넥션 풀 코드를 집어넣는다. 커넥션풀을 사용할 클래스를 만들어주자. DBCP 클래스에 PoolDataSource 클래스 인스턴스로 선언하여 어디서나 사용 가능하다. DB를 커넥션 할때 아래 와 같이 DBCD setConnectionPoll 메서드만 실행해주면 된다. 커넥션풀이란? 데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 필요할 때 커넥션을 풀에서 쓰고 다시 ..
JSTL functions는 태그형식으로 쓰는것이 아니라 EL문 안에 사용된다. JSTL:functions toUpperCase : 모두 대문자 출력 또한 확장자가 zip으로 되어 있는 파일만 스타일을 적용시키고 싶을때 if와 set을 함께 이용하여 아래 처럼 작성 할 수 있다. JSTL :functions endsWith : 마지막 글자를 찾아준다. 출력
format태그로 날짜 형식 변경해보자. JSP페이지에 접두사 "fmt"로 format uri를 사용할거라 명시 해준다. 아래 format 사용예를 봐보자. pattern 속성에 원하는 포맷방식을 써주고 value 속성에 실제 출력될 데이터를 EL을 사용하여 넣어준다. format태그로 숫자 형식으로 변경해보자. pattern 날짜format과 동일하게 원하는 숫자 포맷방식을 써준다. (pattern속성이 없을시 기본 3자리 단위로 , 구분이 된다.) value 실제출력될 데이터를 EL을 사용하여 넣어준다. 출력 날짜 및 숫자 포멧 방식은 필요시 구글을 이용하여 찾아보자.
forToke을 이용하여 파일 이름을 구분 짓자. delims 속성 사용 또한 출력시 / 로 구분하기 위해 "/" 넣어준다. 다만 마지막은 안나오게 하기 위해 JSTL if 문으로 forTOkens 마지막값이 아닐경우에만 "/"을 넣는다는 코드를 작성한다.
JSTL if문을 이용하여 pager 이전 다음 버튼을 만들어보자 다음 버튼 조건 최대 페이지 번호를 23으로 주고 23페이지 이상 가면 더이상 동작이 안되게 하기 JSTL if 문에는 test 속성 안에 조건식을 사용할 수 있다. EL을 적절히 활용하여 아래 처럼 코드를 작성하자. (다음 버튼) 페이지 번호는 5개까지 보이니 다음 버튼을 누르면 시작 번호에 +5를 하자. 최대번호보다 작을때 까지 동작 하는 조건 및 최대번호를 넘거나 같으면 alert 띄운다. (이전 버튼) 시작 번호가 1보다 클때까지 이전버튼이 동작하도록 한다. 1하고 같거나 작으면 alert를 띄운다.
JSTL forEach 으로 게시판 목록의 페이지 번호를 만들어 보자. forEach 속성인 begin end를 이용하여 0부터 4까지 총 5개의 인덱스를 생성하여 page번호를 증가시킨다. 그러나 페이지가 증가 함에 따라 페이지 번호도 가변적으로 바뀌어야 한다. 아래 그림을 봐보자. (아래 그림처럼 3페이지는 1~5페이지에 속하고 17,19페이지는 16~20페이지에 속한다.) 해당 페이지 마다 시작 페이지를 알아야 페이지 목록을 출력할 수 있는데 요청된 페이지 값을 5로 나눈 값에서 1을뺀 나머지 값이 페이지목록의 시작값이 나올 수 있는걸 알 수 있다. 그럼 해당 식으로 페이지 가변적으로 변하는 페이지 목록을 만들어보자. 실제 코드 1. set태그를 이용하여 page변수에 EL param 사용 p파라미..
병아리개발자Mr Jo
'web_배우고익히고' 카테고리의 글 목록 (2 Page)