- Outsider's Dev Story
- 흔한 개발자의 개발 노트
- 내 아이큐 80, 너도 80, 둘이 합쳐 160 - 내…
- 조대협의 블로그
- 자바캔(Java Can Do IT) / 최범균 님
- Sangon, Han – 개발자; 읽고 생각하고 쓰고 …
- The Evolution of the Web
- NAVER D2
- Dashboard - SLiPP
- ITWorld Korea - 테크놀로지 리더를 위한 글…
- OKKY - All That Developer
- 웹Frameworks
- 오픈튜토리얼스
- 위키독스 / 온라인 책 제작 공유 플랫폼 서비스
- 블로터
- IT OnAir
- 한 처음에 / 백창92
- Divide my knowledge / 완프최
- SERI.org
목록Java/web (33)
Bigfat
HTTP 오류 코드에 대해 처리할 수 있도록 설정, JSP를 작성해보자 웹 개발을 하면서 브라우저로 출력된 에러 페이지를 자주 봤을 것이다. 이러한 에러 페이지는 웹 컨테이너가 제공하는 기본 에러 페이지로, 오류뿐만 아니라 디렉토리의 구조, 톰캣의 버전 등이 노출되므로 웹 보안이 취약해진다(참고1). HTTP 상태 코드(Status Code)에는 200(성공), 404(찾을 수 없음), 500(내부 서버 오류) 등 클라이언트 요청에 대한 응답 코드가 많으니 확인해보도록 하자. 브라우저의 개발자모드 > Network 에서 확인 가능하다. web.xml에 404, 500오류에 대한 처리를 설정하는 '에러 페이지 처리' 주석 아래의 코드를 삽입한다. bbs index.html index.htm index.js..
게시판 리스트 화면에 페이징 처리를 해보자 첫 번째로 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클래스를 작성하..
브라우저로 게시판 리스트 화면을 출력해보자 저장한 게시글을 리스트로 출력하고, 글쓰기 기능을 링크로 추가해보자. 먼저 프로젝트가 어떤 구조로 진행될 지 미리 확인해보자. 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...
브라우저로 글쓰기 화면을 출력하고, 게시글을 DB에 삽입해보자 먼저 모델 2 구조로 게시판을 구현하고, 구현이 대부분 끝난 시점부터 스프링 프레임워크로 넘어가면서 다시 게시판을 구현하도록 한다. 글쓰기 화면에서 글을 쓰고 저장하는 기능을 구현해보자. 일단 프로젝트가 어떤 구조로 진행될지 미리 확인해보자. 싱글톤 패턴을 이용하여 데이터베이스 접근하기에서 만들었던 BBS테이블, 시퀀스와 BBSDto클래스, OracleDBConnector클래스, BBSOracleDao클래스를 그대로 사용하도록 한다. 단 OracleDBConnector클래스의 getConnection()메서드에 주석 처리해둔 core.log를 사용하여 쿼리문과 결과를 콘솔에 찍도록 한다. core.log를 사용하기 위해서는 http://log..
싱글톤 패턴(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..
애노테이션(annotation)을 작성하여 서블릿을 실행해보자 서블릿 배치 정보를 web.xml에서 작성할 수도 있고, 애노테이션으로 작성할 수도 있다. 서블릿 클래스명을 기입하고 'Next'버튼을 눌러준다. BBSServlet라는 클래스가 존재하므로 BBSServletAnnotation라고 기입하였다. Initialization paramters는 web.xml에서 의 자식인 엘리먼트를 작성하는 것과 동일하다. 지금은 bbsProperties를 사용하지 않기 때문에 제거해도 괜찮다. URL mappings는 web.xml에서 엘리먼트를 작성하는 것과 동일하다. 인터페이스를 상속받거나 오버라이딩할 메서드들을 선택하는 화면이다. BBSSerlvet클래스에서와 같이 doGet, doPost, init메서드를..
서블릿 클래스를 작성하고, 클라이언트 Request를 처리해보자 브라우저에 'Hello world!'를 출력했을 때부터 시작해보기로 한다. 우선 Java Resources/src에 com.edu.bbs란 패키지를 생성하고, BBSServlet클래스를 만들어보자. BBSServlet클래스는 HttpServlet클래스를 상속받게 한다. HttpServlet클래스는 Java EE 7 API 문서에서 확인할 수 있다. Servlet은 웹 컨테이너(대표적으로 Tomcat, 서블릿 컨테이너라고도 부른다)에 의해 실행, 관리된다. BBSServlet클래스에서 alt+shift+s를 눌러 Override/Implement Methods를 선택한다. 부모클래스인 HttpServlet클래스의 doGet, doPost메서드..
톰캣이 웹 애플리케이션을 실행하는 순서를 알아보자 이전에 웹 프로젝트와 서버를 생성하였고, 서버를 실행하여 간단한 결과를 확인해봤다. 이번에는 톰캣(WAS, Web Application Server, 확실히는 톰캣은 웹 컨테이너 또는 서블릿 컨테이너다)이 어떻게 프로젝트를 읽어들이고 서버에 올려 실행시키는지 알아보자. 1. 톰캣 서버가 실행되면 서버는 server.xml을 읽는다. Servers > Server name > server.xml server.xml을 열어보면 가장 하단부에 Context 엘리먼트에 docBase, path와 source에 프로젝트명이 적혀져 있는 것을 볼 수 있다. WAS는 웹 애플리케이션을 Context로 인식한다. 서버는 server.xml을 읽어 서비스해줘야할 프로젝트..