Java/web(33)
-
[Web] 에러 페이지 처리하기 (게시판 구현)
HTTP 오류 코드에 대해 처리할 수 있도록 설정, JSP를 작성해보자 웹 개발을 하면서 브라우저로 출력된 에러 페이지를 자주 봤을 것이다. 이러한 에러 페이지는 웹 컨테이너가 제공하는 기본 에러 페이지로, 오류뿐만 아니라 디렉토리의 구조, 톰캣의 버전 등이 노출되므로 웹 보안이 취약해진다(참고1). HTTP 상태 코드(Status Code)에는 200(성공), 404(찾을 수 없음), 500(내부 서버 오류) 등 클라이언트 요청에 대한 응답 코드가 많으니 확인해보도록 하자. 브라우저의 개발자모드 > Network 에서 확인 가능하다. web.xml에 404, 500오류에 대한 처리를 설정하는 '에러 페이지 처리' 주석 아래의 코드를 삽입한다. bbs index.html index.htm index.js..
2017.04.10 -
[Web] 페이징 처리하기 (게시판 구현)
게시판 리스트 화면에 페이징 처리를 해보자 첫 번째로 web.xml에 엘리먼트를 아래와 같이 추가해주자. 서블릿 초기화 파라미터로 프로젝트 내에서 사용되는 설정 값들을 정의해놓을 수 있다. pageSize는 한 화면에 보여줄 게시글의 개수이며, pageBlock은 하단 링크 page의 개수다. bbs index.html index.htm index.jsp default.html default.htm default.jsp pageSize 10 pageBlock 10 bbsServlet com.edu.bbs.BBSServlet bbsProperties D:\Dev\education\bbs\WebContent\bbs.properties bbsServlet *.bbs 이제 페이징을 처리할 Page클래스를 작성하..
2017.04.07 -
[Web] 리스트 화면 만들기 (게시판 구현)
브라우저로 게시판 리스트 화면을 출력해보자 저장한 게시글을 리스트로 출력하고, 글쓰기 기능을 링크로 추가해보자. 먼저 프로젝트가 어떤 구조로 진행될 지 미리 확인해보자. list.jsp 화면과 ListImpl클래스, jstl-1.2.jar가 추가된 것을 확인할 수 있다. JSTL Jar파일을 다운로드하여 WEB-INF/lib에 추가시키자. JSTL(JSP Tag Library)은 XML 데이터 처리와 조건문, 반복문, 국제화와 지역화와 같은 일을 처리하기 위한 JSP 태그 라이브러리다. 우선 bbs.properties 파일에 /list.bbs=com.edu.bbs.ListImpl을 추가하자.#bbs.properties /writeForm.bbs=com.edu.bbs.WriteFormImpl /write...
2017.04.06 -
[Web] 글쓰기 화면 만들기 (게시판 구현)
브라우저로 글쓰기 화면을 출력하고, 게시글을 DB에 삽입해보자 먼저 모델 2 구조로 게시판을 구현하고, 구현이 대부분 끝난 시점부터 스프링 프레임워크로 넘어가면서 다시 게시판을 구현하도록 한다. 글쓰기 화면에서 글을 쓰고 저장하는 기능을 구현해보자. 일단 프로젝트가 어떤 구조로 진행될지 미리 확인해보자. 싱글톤 패턴을 이용하여 데이터베이스 접근하기에서 만들었던 BBS테이블, 시퀀스와 BBSDto클래스, OracleDBConnector클래스, BBSOracleDao클래스를 그대로 사용하도록 한다. 단 OracleDBConnector클래스의 getConnection()메서드에 주석 처리해둔 core.log를 사용하여 쿼리문과 결과를 콘솔에 찍도록 한다. core.log를 사용하기 위해서는 http://log..
2017.04.05 -
[Web] 싱글톤 패턴을 이용하여 데이터베이스 접근하기 (게시판 구현)
싱글톤 패턴(Singleton pattern)을 이용하여 레코드를 삽입, 조회해보자 게시판 구현에 필요한 오라클 데이터베이스 접근을 싱글톤 패턴을 이용해 구현해보자. 싱글톤 패턴은 동일한 자원이 불필요하게 여러 개 만들어질 필요가 없을 때 주로 사용한다. 우선 게시글에 대한 테이블, 시퀀스를 생성하자.--게시판(Bulletin Board System) 테이블 생성 CREATE TABLE BBS( ARTICLE_NUMBER NUMBER PRIMARY KEY, ID VARCHAR2(15) NOT NULL, TITLE VARCHAR2(15) NOT NULL, CONTENT CLOB NOT NULL, GROUP_ID NUMBER NOT NULL, DEPTH NUMBER NOT NULL, POS NUMBER NO..
2017.04.04 -
[Web] 서블릿 생성하기(애노테이션)
애노테이션(annotation)을 작성하여 서블릿을 실행해보자 서블릿 배치 정보를 web.xml에서 작성할 수도 있고, 애노테이션으로 작성할 수도 있다. 서블릿 클래스명을 기입하고 'Next'버튼을 눌러준다. BBSServlet라는 클래스가 존재하므로 BBSServletAnnotation라고 기입하였다. Initialization paramters는 web.xml에서 의 자식인 엘리먼트를 작성하는 것과 동일하다. 지금은 bbsProperties를 사용하지 않기 때문에 제거해도 괜찮다. URL mappings는 web.xml에서 엘리먼트를 작성하는 것과 동일하다. 인터페이스를 상속받거나 오버라이딩할 메서드들을 선택하는 화면이다. BBSSerlvet클래스에서와 같이 doGet, doPost, init메서드를..
2017.03.24