프로그래밍 175

데이터베이스 식별을 위한 JDBC URL

데이터베이스를 구분할 때에도 URL과 비슷한 형태를 갖는 JDBC URL을 사용한다. 일반적인 형태는 다음과 같다. jdbc:[DBMS] : [데이터베이스식별자] 예를들어 MySQL JDBC 드라이버의 URL은 jdbc:mysql://HOST[:port]/DBNAME[?param=value&param1=value2&...] 예를들어 로컬의 test 데이터베이스를 나타날 때에는 jdbc:mysql://localhost:3306/test 이다. 3306은 MySQL의 기본 포트이다. String jdbcDriver = "jdbc:mysql://localhost:3306/test?"+"useUnicode=true&characterEncoding=euckr"; 이런식이 기본형태인데 뒤에 캐릭터셋팅은 한글 데이터..

DBCP를 이용한 커넥션 풀 (Connection Pool) 사용하기

커넥션 풀이란 데이터베이스와 연결된 커넥션을 미리 풀속에 저장해 두고 있다가 필요할 때에 커넥션을 풀에서 가져다 쓰고 다시 풀에 반환하는 기법을 말한다. 1) DBCP 관련 jar파일 및 jdbc드라이버 jar파일 설치하기 아파치 사이트에서 commons-dbcp-(버전).jar commons-pool-(버전).jar 을 다운받아서 WEB-INF/lib 디렉터리에 넣어준다. 2) 커넥션 풀 관련 설정 파일 초기화하기 WEB-INF/classes/pool.jocl 의 경로로 파일을 만든다. 123456789101112131415161718192021 Colored by Color Scriptercs line 4~8 - DBMS와 연결할 때 사용할 JDBC URL, 사용자 계정, 암호이다. 3) 커넥션 풀 ..

방명록 구현을 통한 MVC 패턴 이해하기 (2)

MySql에서 DAO를 만들어 보자. 1. 테이블 생성 MySql에서 테이블을 생성하자 auto_increment는 자동으로 값이 1씩 증가되는 칼럼으로서 insert쿼리를 수행할 때 값을 지정하지 않는경우 자동으로 1이 증가된 값이 삽입된다. 2. 메세지를 관리하는 DAO클래스 작성 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util...

방명록 구현을 통한 MVC 패턴 이해하기 (1)

이번 포스팅은 mysql, 오라클, mssql에서 동작하는 방명록 예제를 작성할 것이다. 이를 통해 mvc패턴이 어떻게 적용되는지 볼 것이다. 1. 클래스 구조 서비스 관련 클래스 GetMessageListService - 요청한 페이지 번호에 포함된 메시지 목록을 구한다. WriteMessageService - 방명록에 메시지를 작성하는 기능을 제공한다. DeleteMessageService - 작성한 메시지를 삭제하는 기능을 제공한다. DAO 관련 클래스 MessageDaoProviderInit - 초기화 서블릿으로서 MessageDaoProvider에서 사용할 DBMS종류를 선택한다. MessageDaoProvider - 설정에 맞는 DB에 공통으로 적용될 수 있는 MessgageDao객체를 중개자..

나도 답변형 게시판을 만들어보자 ! (1)

게시판은 웹 어플리케이션의 기본 구성 요소 중의 하나로서, 거의 모든 커뮤니티 사이트는 대부분 게시판 기능을 제공하고 있다. 또한, 이들 게시판은 답변을 등록할 수 있는 기능을 함께 제공하고 있다. 이번 포스팅은 답변형 게시판을 만드는 과정을 보일 것이다. 1. 로직 답변형 게시판의 주안점은 글이 작성되는 순서와 글이 화면에 보여지는 순서가 다르다는 점이다. 왜냐하면 게시판에서는 답변 관계를 기준으로 글을 정렬해서 보여주기 때문이다. 그래서 중첩 레벨이라는 것을 갖는다.답변형 게시판을 구현하려면 그룹 내에서 부모 글과 자식 글 관계에 맞는 순서 값을 지정해야 한다. 이 순서 값은 다음의 두 가지 정보를 통해서 결정된다. - 그룹 번호 : 동일한 루트를 갖는 글 들이 공유하는 번호, 새로운 루트가 추가될 ..

나도 전자정부프레임워크에 부트스트랩 적용해보자! (4)

이번 포스팅에서는 맵퍼 설정을 보겠다. 맵퍼의 역할은 SQL을 가리키는 역할을 한다. 스샷을 보자. 아까 리소스 폴더에서 context-mapper를 보자.example폴더 밑에 모든 파일에 적용하기 위해서 sample을 지우고 그자리에 **를 입력한다.그렇다면 example밑에 다른 폴더를 만들어서 파일을 넣어도 하위폴더이므로 쭉 적용이 될 것이다. 그리고 인덱스를 편집해보자.index.jsp에서 jsp포워딩 태그의 파일명을 main.do로 바꾸자. 이름을 굳이 main으로 하지않아도 되지만 편의상 그렇게 했다. main.do는 java파일인데 이것을 포함시켜 보자. 일단 java폴더의 example폴더로가서 main폴더를 만들자 하위에 web폴더(약속)를 두고 컨트롤러 하나를 만들자. 밑에 sampl..

나도 전자정부프레임워크에 부트스트랩 적용해보자! (3)

세 번째 포스팅이다. 자, 이제 html 즉 jsp 타일즈분할파일들을 넣을 것이다. 헤더, 레프트 등 각 부분별로 파일경로를 설정한 것에 맞는 경로에 각 jsp파일들을 생성하자.(필자는 이미 나눠져 있는 파일들을 넣었다) 본인이 bootstrap템플릿페이지의 메인(index.html)을 분야별로 나눠서 만들어야 한다. 그리고 받은 템플릿의 리소스들 (css 라던지 이미지들)을 webapp 폴더에 넣는다. 파일들을 추가하고 난 후 다음 단계로 넘어간다. 흐름의 구조를 잠깐 보면 컨트롤러 - 서비스 - 서비스임플 - 맵퍼 - 디비(sql)로 연결이 된다.디비 셋팅을 해줘야 하는데 밑의 경로 즉 리소스폴더 밑을 보자. context-datasource.xml라는 파일이 있다. 이것은 각 데이터베이스의 세팅을 ..

나도 전자정부프레임워크에 부트스트랩 적용해보자! (2)

전 시간에 이 태그를 삽입한다고 했었다. 이것은 타일즈를 설정하는 것인데 타일즈에 대해서 알아보겠다. 타일즈는 복잡한 웹사이트 개발을 쉽게 하기 위해서 개발된 무료 오픈소스 템플리팅 프레임워크이다. 공통된 요소들을 부분적으로 모듈화 해서 페이지를 runtime시에 조립해서 소스코드의 중복을 줄이고 재사용가능한 템플릿으로 만들 수 있게 해준다. 자 이 태그를 넣고 저장을 하자. 그리고 Package Explorer 에 가서 Maven Dependencies 에 들어가 보면 tiles관련 jar파일들이 쭉 추가 되는 것을 볼 수 있다. 이것이 메이븐이다. 자 다음은 디스패처 서블릿에 추가할 코드가 있다.디스패처 서블릿의 위치는 웹앱폴더의 하위 config설정파일에 있다. 디스패처 서블릿이란? dispatch..

나도 전자정부프레임워크에 부트스트랩 적용해보자! (1)

먼저 전자정부프레임워크를 켠다 ! (이클립스) 그리고 perspective를 eGovFrame으로 설정한다. 난 없는데? 이클립스 메뉴의 Window -> show perspective -> other -> eGovFrame검색! 그럼 이제 네비게이터에서 (프로젝트) 우클릭 -> eGovFrame Web Project 로 프로젝트를 생성한다. Finish 말고 Next를 눌러 Generate Example 체크박스를 눌러준다! cf> target 폴더 : .java파일을 .class파일로 변환해서 저장하는 곳 네비게이터상에서 보자 그러면 webapp폴더를 찾아가서 pom.xml에 들어간다.밑의 스크린샷처럼 properties 태그안에 빨간부분에 엔터치고 한 줄을 넣어야 한다. 2.2.2 -> 결과적으로 ..

MVC 패턴에서 쓰이는 DAO, 서비스의 개념 및 구현방법

- 웹 어플리케이션의 주요 구성 요소 Service 클래스 : 사용자의 요청을 처리하는 기능을 제공한다. 기능을 제공하기 위한 로직을 구현하고 있으며 DAO 클래스를 통해서 DB연동을 처리한다. 가입 신청 처리, 글 목록 제공 등의 기능을 수행한다. DAO 클래스 : DB와 관련된 CRUD 작업을 처리한다. Service 클래스들은 데이터를 DB에서 읽어오거나 DB에 데이터를 저장할 때 DAO 클래스를 사용한다. JSP(뷰) : Service 클래스가 실행한 결과를 화면에 출력하거나 Service가 기능을 수행하는 데 필요한 데이터를 전달한다. ** 데이터 접근 객체 (Data Access Object)의 구현 일반적으로 한 개의 DB 테이블 당 한 개의 DAO 클래스를 작성한다. 각 DAO 클래스는 I..

반응형