기존에는 APM 환경으로 웹 서버를 구축해서 웹 해킹 공부를 했었다. (블로그에는 글을 조금밖에 올리지 못했지만..웬만한 기능들은 작동되도록 만들었다.)
그래서 이번에는 JSP로 웹 서버를 만들어 보려고 한다.
모르는 것들이 많아 좀 더딜 순 있지만, JAVA 및 JSP 관련 개념들도 정리하면서 천천히 올려보려고 한다.
본격적으로 웹 개발을 하기 위해 환경을 설정하자.
나같은 경우에는 Eclipse에서 스프링부트를 이용해 서버를 구동했다. (스프링부트는 기본적으로 톰캣이 내장되어 있다.)
1. Eclipse 다운로드
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2023-03/R/eclipse-inst-jre-win64.exe
Eclipse downloads - Select a mirror | The Eclipse Foundation
The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks.
www.eclipse.org
해당 사이트로 접속 후 다운로드를 진행하자.

실행파일 다운로드 후 빨간 박스 안에 있는 버전으로 다운로드를 진행한다.
나의 경우 설치과정 중에 경로 변경은 따로 하지않고 그대로 진행했다.

2. JDK 17 버전 다운로드
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
Java Archive Downloads - Java SE 17
WARNING: These older versions of the JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production. For production use Oracle recommends downloading th
www.oracle.com
자신의 운영체제에 맞게 다운로드 진행 (Version은 17.0.7)
설치 경로는 기본 설치 경로로 다운로드 받은 후 실행하자.

3. 이클립스에서 스프링부트 다운로드 받기
Toolbar에서 Help > Eclipse Marketplace > sts 검색 > Spring Tools 4 Install 클릭 > Next 눌러주며 다운로드 진행 후 적용위해 Restart now 팝업창 뜨면 클릭

4. Spring Boot Project 생성하기
File > New > Spring Starter Project 클릭하면 프로젝트 설정 정보 입력창이 뜬다.

Name과 Group 명은 자신이 사용하고 싶은 이름으로 사용하면 되고, 파랑색 박스 부분은 동일하게 설정하도록 한 후 Next 클릭
Type Gradle은 빌드 관리 도구이고 다른 종류로는 Maven도 있다. 요즘 추세는 Gradle 을 더 많이 사용한다고 한다.
(관리 도구가 달라짐으로서 설정 파일이나 문법들이 조금씩 달라진다.)

Available 밑 검색창에 파랑색 박스 부분에 있는 모듈들을 검색해서 Selected 에 포함시켜 준 후 Finish 클릭하면 Spring Boot Project 가 생성된다.

5. Index.jsp 파일 만들어서 웹 브라우저로 확인하기
이제 프로젝트까지 생성했으니 웹 서버가 제대로 작동하는지 확인하기 위해 Index.jsp 파일을 만들어서 확인해볼 것이다. 그러기 위해선 추가로 설정을 해야한다. (아마 프로젝트가 생성되고 해당 프로젝트를 실행 시켰을 때 웹 서버가 제대로 올라오지 않을것이다.)
첫 번째로 자바 버전을 맞춰줘야 한다. 스프링부트 3.0.0 이상부터는 기본적으로 자바 17 버전 이상으로 설정된다.
Toolbar 탭에서 Project > Properties 클릭 > Java Build Path 항목에서 Libraries 탭 클릭 후 JRE System Library를 Edit
아래 그림과 같이 따라오면 된다.

Intalled JREs > Add.. 클릭

Standard VM 선택 후 Next

Directory... 클릭

처음에 다운 받았던 JAVA17 (jdk-17) 폴더 위치 선택

아래 그림과 같이 JRE 위치 적용 후 Finish 클릭 (에러 문구는 JRE 이름이 동일해서 나오는 에러이므로 신경쓰지 않아도 된다.)

Apply and Close 클릭해서 자바 버전 맞추기 설정 완료

이렇게 자바 버전을 맞추게 되면 아마 프로젝트 파일에서 빨간 느낌표(?) 같은 부분이 사라질 것이다. 그리고 실행을 하면 웹 서버도 정상적으로 동작이 될 것이다.
웹 서버 실행은 프로젝트 탐색기에서 해당 프로젝트 우클릭 후 Run as > Spring Boot App을 클릭하면 웹 서버가 실행된다.

두 번째로 스프링부트에 내장된 tomcat은 jsp 엔진을 포함하고 있지 않아 jasper와 jstl의 의존성을 포함시켜줘야 jsp 파일 실행이 가능하다.
프로젝트 탐색기에서 build.gradle 더블 클릭하면 소스 코드가 보이게 되는데 빨간 박스 부분 내용을 dependencies 괄호 안에 추가해 주도록 하자.
[build.gradle 내욯 추가]
1
2
3
|
implementation 'jakarta.servlet:jakarta.servlet-api' //스프링부트 3.0 이상
implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' //스프링부트 3.0 이상
implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' //스프링부트 3.0 이상
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' //스프링부트에 내장된 tomcat은 jsp 엔진을 포함하고 있지않아 의존성 추가 |
cs |

해당 설정이 적용되도록 build.gradle 우클릭 후 Gradle > Refresh Gradle Project 클릭해주면 변경한 설정이 적용된다.

세 번째로 application.properties 파일에서 빨간 박스 부분을 추가해 주자. 해당 설정은 JSP 파일이 들어있는 기본 디렉토리 경로 위치와 index.jsp 파일일 경우 index만 입력해도 뒤에 저절로 .jsp 가 붙는다고 생각하면 된다.
[application.properties 내용 추가]
네 번째로 웹 검색창에 주소를 쳤을 때 접속하게 해줄 컨트롤러가 필요한데, 그 컨트롤러를 만들어 주자.
파일 위치는 Application.java가 있는 곳에 만들어도 되고, 나와 같이 controller 폴더를 따로 만들어서 그 밑에 생성해도 된다. 폴더와 파일을 만드는건 프로젝트 탐색기에서 우클릭 > New > Folder 또는 File 을 선택해서 만들 수 있다.
파일 이름은 원하는대로 지어도 되며, 확장자만 .java 로 만들어주면 된다.
[HomeController.java 내용 추가]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package com.example.bootStudy.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HomeController {
@RequestMapping("/")
public String home() {
System.out.println("JSP 파일 반환만 되게 해주세요...");
return "index";
}
}
|
cs |


해당 소스 코드 내용은 브라우저에서 웹 주소를 입력(ex. localhost:8080)하면 이클립스 콘솔창에는 "JSP 파일 반환만 되게 해주세요..." 라는 문구가 뜨고 index 페이지를 리턴해줘서 결과적으로 index.jsp 파일이 웹 브라우저 화면에 보이게 된다.
이제 마지막으로 index.jsp 파일을 만들어서 웹 화면에 잘 나오는지 확인해보자.
JSP 파일 위치는 src\main\webapp\WEB-INF\views 폴더 안에 생성하면 된다. 기본적으로 위치가 webapp\WEB-INF\ 으로 설정이 되어 있다. webapp 폴더가 아마 없을 것이므로 폴더들을 만들고 views 폴더 안에 index.jsp 파일을 만들어 주자.
[index.jsp]
1
2
3
4
5
6
7
8
9
10
11
12
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
hello!!!
<h1>Success!</h1>
</body>
</html>
|
cs |

이러고 localhost:8080 으로 웹 브라우저로 접속하면 아래 그림과 같은 화면이 나타나면 성공이다.
(톰캣의 기본 포트는 8080 이다.)
혹시 안된다면 웹서버를 껐다가 다시 실행시켜보자!!

이렇게 이클립스에서 Spring boot를 이용해 JSP 파일 만드는 설정을 마치겠다.
개발자가 아니다보니 삽질도 엄청 하면서 만들었는데, 그래도 성공했다는게 참 뿌듯하다!!
다음엔 오라클 DB를 연동하는 포스팅으로 찾아오겠다. (언제가 될지는 모르겠다.. 블로그 글 작성하면서 그림 첨부하고 하니 여간 힘든게 아니네..)