Search

프로젝트 생성 및 라이브러리 세팅

JSP 게시판 프로젝트 페이지에서는 간단한 게시글 등록 조회 수정 삭제를 하는 기능을 가진 동적 웹사이트를 개발해 보는 방법을 알아보겠습니다.

프로젝트 생성 및 라이브러리 세팅

JSP 게시판 프로젝트를 개발하기 위한 가장 첫 번째 단계로 프로젝트를 생성하고 라이브러리를 세팅하는 작업을 진행해 보도록 하겠습니다.

사전 준비 사항

JDK 1.8 버전 이상 설치
IDE - Eclipse 설치
이번 프로젝트는 jdk1.8 버전 이상에서 이클립스 IDE 를 사용해서 진행해 보도록 하겠습니다 사전에 설치가 되어 있지 않은 분들은 위의 링크를 클릭하여 자바 개발 환경을 세팅하시면 되겠습니다.

작업 순서

1.
자바 웹 프로젝트 생성
a.
Dynamic Web Project
2.
라이브러리 세팅
a.
라이브러리
i.
MySQL 드라이버 (JDBC) ???
iii.
파일 업로드 라이브러리 ???
b.
톰캣(Tomcat) 서버 연동 JSP 개발환경 구축

자바 웹 프로젝트 생성

1.
[File] > [New]
2.
[Dynamic Web Project]
3.
web.xml
이클립스를 실행해서 [File] 메뉴의 [New] 메뉴로 들어가서 Dynamic Web Project 를 선택하도록 하겠습니다.
.프로젝트 이름은 간단하게 “Board” 라고 하고, 웹 어플리케이션 서버는 아파치 톰캣 9.0 버전을 사용하도록 하겠습니다. 또한 서블릿 버전은 4.0 버전을 선택하고 다음으로 넘어가겠습니다.
이 화면에서는 프로젝트에 빌드 기본 경로를 설정합니다 기본 값으로 세팅된 대로 놔두고 다 못 다음으로 넘어가겠습니다.
이 화면은 웹 모듈을 설정하는 화면입니다. 이 화면에서는 Context root 그리고 Content directory를 설정합니다. 또한 web.xml 파일을 생성할지 여부를 체크할 수 있습니다.
설정
내용
Context root
웹 애플리케이션의 루트 경로 (주로 프로젝트 이름과 동일하게 지정)
Content directory
JSP 파일 및 정적 자원(html,css,js,img 등) 이 위치하는 경로
web.xml
웹 애플리케이션 설정 파일
Context
문맥 및 상황에 따라 이해되는 한 차원 높은 공간이나 영역.
Context 라고 하는 용어는 프로그래밍이나 컴퓨팅 분야에서, 어떤 상황이나 환경을 설명할 수 있는 영역이나 경로를 말합니다.
여기서 설정하는 Context root는 웹 애플리케이션을 호스팅 했을 때 해당 애플리케이션을 접근할 수 있는 최 상위 경로를 말합니다. 이클립스에서는 기본 값으로 프로젝트 이름과 동일하게 지정됩니다.
Content directory
컨텐츠 디렉토리는 JSP 파일하고 정적 자원이 위치해야 할 경로를 말합니다.
web.xml
web.xml 파일은 웹 애플리케이션의 설정 파일로 다음과 같은 기능을 지정하기 위해 사용합니다.
루트 페이지 설정 (welcome file)
서블릿 매핑
필터 설정
에러 페이지 설정

결과 화면

라이브러리 세팅

이제 프로젝트를 생성했으니 게시판 기능을 구현하기에 필요한 라이브러리를 세팅해 보도록 하겠습니다.

라이브러리

JDBC (Java Database Connectivity)
MySQL Connector/J
JSTL
파일 업로드
commons-io
commons-fileupload
JDBC는 자바 어플리케이션으로 데이터베이스에 접근하여 데이터를 관리하고 조작하기 위한 api입니다. 이 페이지에서는 JDBC 중에서 mysql 데이터베이스하고 연결하는 JDBC 드라이버를 사용하도록 하겠습니다.
JSTL 은 JSP 에서 사용할 수 있는 표준 태그 라이브러리입니다. JSTL 을 사용하면 JSP 페이지 내에서 자바코드를 사용하는 것을 조금 더 간결하고 가독성을 높여서 사용할 수 있습니다. 주로 JSP 페이지 대해서 조건문과 반복문을 활용하거나 데이터 포맷을 처리하거나 데이터 요청 처리를 할 때 사용됩니다.
서블릿 및 JSP 에서 파일 업로드 기능을 구현하기 위해서는 주로 commons-fileuploadcos 파일 업로드 라이브러리를 사용합니다. 이 프로젝트에서는 commons-fileupload 를 사용해 보도록 하겠습니다..

1. MySQL 드라이버

위에 링크를 클릭하시면 JDBC 라이브러리를 바로 다운로드 할 수 있습니다.
해당 사이트로 이동해서 Platform Independent 를 선택하고 맥 OS 환경에 하면 TAR 아카이브 윈도우 OS 환경이라면 ZIP 아카이브를 압축해제를 하시면 되겠습니다.
압축을 해제하고 나면 mysql-connector-j j라고 하는 JDBC 라이브러리를 볼 수가 있습니다.
WEB-INF/lib 디렉토리에 JDBC 라이브러리 파일를 추가해주세요. 파일 폴더에서 ctrl + C 하고 이클립스에서 ctrl + V 하면 쉽게 추가할 수 있습니다.
일반적으로 WEB-INF/lib 디렉토리에 라이브러리(JAR 파일)를 배치하면 웹 애플리케이션 서버(예: Tomcat, Jetty 등)가 해당 라이브러리를 자동으로 인식합니다. 이 디렉토리에 라이브러리 파일을 추가하면 웹 애플리케이션이 실행될 때 해당 라이브러리가 class-path 에 추가되어 웹 애플리케이션에서 사용할 수 있게 됩니다.

2. JSTL 라이브러리

위에 링크를 클릭하시면 JSTL 라이브러리를 바로 다운로드 할 수 있습니다.
모듈
내용
spec
JSTL 스펙 자체를 정의한 인터페이스와 클래스를 포함
impl
JSTL의 핵심 로직과 태그 라이브러리 구현이 포함
jstlel
JSTL 태그에서 변수와 표현식을 다루기 위한 언어로, ${} 표현식을 평가하는 로직 포함
compat
이전 버전의 JSTL과 호환성을 유지하면서 새로운 JSTL 버전을 사용하려는 경우에 도움을 주는 라이브러리
1.
JSTL 태그 라이브러리 다운로드
a.
taglibs-standard-compat-1.2.5.jar
b.
taglibs-standard-impl-1.2.5.jar
c.
taglibs-standard-jstlel-1.2.5.jar
d.
taglibs-standard-spec-1.2.5.jar
2.
JSP 프로젝트 에 포함하기
a.
[WEB-INF] > [lib] 폴더에 추가
JSTL 태그 라이브러리 추가하기
JSTL 라이브러리 파일 4개를 다운로드 받아 라이브러리 폴더에 추가해 줍니다.

3. 파일 업로드 라이브러리

1.
commons-io.jar 라이브러리 다운로드
3.
프로젝트에 라이브러리 파일 포함하기
a.
Project
i.
webapp/WEB-INF/lib
ii.
commons-io.jar 파일 저장하기
iii.
commons-fileupload.jar 파일 저장하기
파일 업로드 라이브러리 파일인 commons-fileupload 와 commons-io 다운로드 받아 라이브러리 폴더에 추가해 줍니다.

톰캣 서버 연동

웹 어플리케이션을 실행 할 수 있도록 톰캣 서버를 설치하고이를 이클립스에서 실행할 수 있도록 연동해보도록 하겠습니다.
1.
[File] > [New] > [Other]
2.
[Server]
3.
Tomcat v9.0 Server
a.
[Browse] > 웹서버 위치 설정
b.
jre > JRE 선택
Ctrl + N 이나 [File] 메뉴의 [New] 메뉴에서 [Other] 를 클릭합니다.
server 를 검색하여 선택하고 다음을 누릅니다.
사용할 웹 애플리케이션 서버 및 버전을 선택합니다. 여기서는 Tomcat v.9.0 을 사용하겠습니다.
[Browse] 버튼을 눌러, 실제로 톰캣이 설치된 설치 경로를 지정해 줍니다.
일반적으로 톰캣은 아래 경로에 설치됩니다.
C:\Program Files\Apache Software Foundation\Tomcat 9.0
Bash
복사
[Finish] 버튼을 눌러 톰캣 서버 설정을 완료합니다.
[Servers] 탭을 열어보면 새로 생성된 서버를 확인할 수 있습니다.