1️⃣ 스프링 프로젝트 생성
프로젝트 생성
프로젝트를 아래와 같이 새로 생성해주자.
- Name: 프로젝트 이름. spring_study로 만들어주자.
- Type : Maven과 Gradle중 Maven을 골라주자.
- Packaging : jar, war중 선택가능하다. JSP를 사용하면 WAR을 골라주자.
다음 페이지는 아래와 같이 설정해주자.
2️⃣ JSP 사용 설정
스프링 부튼 기본적으로 타임리프를 뷰 템플릿 엔진으로 사용하는데
JSP를 사용하기 위해서 추가작업이 필요하다.
JSP파일처리와 JSTL사용을 위한 라이브러리를 pon.xml에 추가해주자.
<!-- JSP와 JSTL -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
그리고 프로젝트 리로드를 해주자.
다음으로 JSP 파일의 위치를 스프링에 알려줄 설정파일을 추가할것이다.
src/main/resources 폴더의 application.properties 파일에 아래의 내용을 추가해주자.
spring.mvc.view.prefix = /WEB-INF/views/
spring.mvc.view.suffix = .jsp
ㅎㅇ
이제 src/main 폴더 아래에 webapp폴더를 만들고,
WEB-INF 폴더를 생성후 views 폴더까지 생성해주자.
3️⃣ JSP 테스트
이제 WEB-INF > views 폴더에 hello.jsp 파일을 만들어주자.
* 앞으로 모든 JSP파일은 views 폴더 안에 있어야 한다 *
생성된 코드는 아래와 같다.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
</body>
</html>
이를 다음과 같이 코딩해주자.
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello Test</title>
</head>
<body>
<h2>Hello Test</h2>
<hr>
현재 날짜와 시간은 <%= java.time.LocalDateTime.now()%>입니다.
</body>
</html>
그런데 여기서 문제가 있다.
스프링 부트는 jsp파일 직접 호출이 불가능하다.
또한 일반적으로 뷰는 데이터를 포함하지 않기때문에 직접 호출이 의미가 없으며
컨트롤러를 경유하는것이 맞다.
이는 즉, 단순한 화면 디자인을 점검을 위해서도 컨트롤러까지 구현해야 테스트가 가능하다.
그럼 테스트를 위해 컨트롤러를 만들어줄것이다.
src/main/java 내부에 이미 만들어진 폴더가 있을것이다.
이곳에 TestWebController을 만든후 아래와 같이 코딩해주자.
package com.example.spring_study;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/test")
public class TestWebController {
@GetMapping("/hello")
public String hello() {
return "hello";
}
}
gdㅎㅇ
그리고 서버를 실행해주자.
필자는 이번에 생성한 프로젝트의 포트는 8083으로 했다.
접속하면 화이트라벨 에러 페이지가 나오는데 여긴 무시하고
http://localhost:8083/test/hello 를 들어가보자.
잘된다.
+ 참고로 스프링부트의 포트 변경은 application.properties에서 아래처럼 원하는 포트를 적어주면된다.
server.port=8083
[메인으로 돌아가기]
'Java Spring > 책공부 1 (JSP와 스프링)' 카테고리의 다른 글
30. 스프링 RestController구현 (0) | 2022.07.19 |
---|---|
29. 스프링 MVC 컨트롤러 구현 (0) | 2022.07.19 |
27. 뉴스 REST API 서버 구현 (0) | 2022.07.18 |
26. Postman으로 REST API 테스트 (0) | 2022.07.18 |
25. JAX-RS로 REST API 서버 구현 (0) | 2022.07.18 |