1. 이클립스 웹 프로젝트 생성
이클립스 사용을 전제로 합니다. Dynamic Web Project(Fie > New > Project)를 생성합니다. 이름은 wa.articlelink로 합니다. 제 블로그에서 가장 인기가 많은 아티클 링크를 별도의 웹 어플리케이션으로 만들어보는거죠.
wa.articlelink는 article link web application을 의미합니다.
 
 
Dynamic Web Project 생성을 위해서는 반드시 웹 어플리케이션을 배포하고 실행할 타겟 서버를 지정해야 합니다. 톰캣 5.5를 설치하셔야 합니다. (웹로직이나 JBoss 등도 가능합니다.) 톰캣을 설치한 후, 설치 디렉토리를 지정하시고, Next 를 연속으로 누르다가 WebContent라고 표기된 부분을 web으로 변경하세요. 반드시 변경해야 하는 것은 아니지만, 일반적인 Naming Convention을 따르기 위함이죠.


 

2. 프로젝트 기본 정보(프로퍼티) 설정
Project > Properties를 설정합니다. 좌측의 굵은 글씨는 프로젝트 프로퍼티 대화창의 왼쪽 트리 노드의 이름입니다. 탭이라 불러도 무방할 것 같네요. 
  • info 인코딩은 UTF-8로 합니다.
  • J2EE Context Root는 article로 합니다. 웹 어플리케이션의 context root 이름이 되죠.
  • Java Build Path 내용이 길어서 아래 설명
  • Java Compiler 5.0으로 설정
  • Javadoc location 프로젝트 폴더 밑에 doc라는 폴더를 만들어서 지정
 
 

Java Build Path에서 Source 탭을 선택합니다. Add Folder... 버튼을 누르고, 프로젝트 폴더 밑에 test/src를 만들어서 소스 폴더로 추가합니다.



Allow output folers for source folders를 체크하고, 테스트 소스 폴더 항목의 Output foler를 (위 그림과 같이) 선택한 후 Edit... 버튼을 누릅니다. test/output 폴더를 만들고 이를 Output folder로 지정합니다. 웹 어플리케이션 코드(production code)와 테스트 코드가 섞이지 않게 하려는 의도죠.
 
이제 web 폴더에서 오른 마우스를 누르고, New > File 메뉴를 선택하여 index.html 파일을 생성합니다. 더블 클릭하고 다음과 같은 내용을 입력합니다.
 
<html>
 <head>
  <meta http-equiv="Refresh" content="0;URL=index.do">
 </head>
</html>
 
meta 태그를 이용하여 새로운 요청을 발생하게 하는 것이죠. content 속성 값으로 주는 것이 요청을 발생시킬 때까지 걸리는 시간(초)이고, URL= 뒤에 입력하는 문자열이 주소 값입니다.
 
왜 이런 일을 하냐구요? web 폴더 아래에 jsp나 html문서를 두지 않기 위함입니다. Core J2EE Patterns라는 책에 소개된 기법으로 가장 간단한 웹 보안 기법 중 하나죠. 기법이라기 보다 좋은 습관이라고 하는게 더 적절하려나.
 
먼저 브라우저가 이클립스 내부에서 뜨는 것이 불편하기 때문에 상단 메뉴의 Window > Web Browser 메뉴에서 Internal 이 아닌 Default 나 사용하시는 IE/FF 등의 브라우저를 선택합니다. 이제 프로젝트 루트 폴더를 선택하고, Run As > Run on Server를 선택하여 웹 어플리케이션을 실행합니다.


/article/index.do에 해당하는 페이지가 없어 404 에러가 납니다. 일단은 잘 돌아간 것이죠. ^^

 

번호 제목 글쓴이 날짜 조회 수
공지 [작성중/인프런] 스프링부트 시큐리티 & JWT 강의 황제낙엽 2023.12.20 5083
84 @ConfigurationProperties 사용하기 황제낙엽 2025.10.23 1617
83 Spring Boot 에서 서버 로직의 역할별 애노테이션 구분 황제낙엽 2025.10.13 1411
82 (확인전) [2021.03.12] Eclipse에서 Spring Boot로 JSP사용하기(Gradle) file 황제낙엽 2023.12.23 2817
81 Spring Boot PetClinic Sample Application 황제낙엽 2023.12.21 2575
80 Eclipse, Spring Boot, Gradle, SVN 레거시(2019) 시스템 유지보수 환경 구축 file 황제낙엽 2023.11.14 1732
79 [시리즈 강좌] 스프링부트로 웹서비스 구축하기 황제낙엽 2023.07.13 1691
78 Spring Boot에서의 RESTful API 모듈 file 황제낙엽 2020.04.16 1896
77 [POST] Spring MVC 구조 분석 황제낙엽 2024.01.17 2053
76 Spring Framework 에서 사용하는 annotation 황제낙엽 2024.01.17 2093
75 Spring MVC configuration file 황제낙엽 2024.01.17 2041
74 [스프링 시큐리티 OAuth2] 강의 자료와 학습용 소스 file 황제낙엽 2024.01.15 1595
73 OAuth 2.0 Resource Server - Spring Security OAuth2.0 황제낙엽 2023.12.27 2016
72 Spring, JSP, Gradle, Eclipse 환경 구축[2] - 샘플 프로젝트 file 황제낙엽 2023.12.24 1922
71 Spring, JSP, Gradle, Eclipse 환경 구축[1] - 레퍼런스 조사 황제낙엽 2023.12.23 2056
70 spring-security-samples 황제낙엽 2023.12.22 1800
69 [Bard] Spring 과 Spring Boot의 차이 file 황제낙엽 2023.12.21 1803
68 Spring 과 Spring Boot의 차이 file 황제낙엽 2020.05.26 2308
67 Spring Security OAuth2.0 파헤치기 황제낙엽 2019.09.05 2079
66 Spring Security OAuth2구현 file 황제낙엽 2019.09.05 2208
65 Spring Security OAuth 황제낙엽 2019.09.05 2442