상황파악

Spring Boot Maven - JSP 사용가능 환경 구축 본문

WEB/Spring Boot

Spring Boot Maven - JSP 사용가능 환경 구축

otch80 2020. 7. 18. 14:04

Spring Boot는 기본적으로 JSP를 지원하지 않는다고 한다

 

우리가 해야 할 작업은 5가지이다.

 

 

  1. pom.xml 파일에 dependency 추가
  2. JSP 보관할 폴더 만들기
  3. application.properties에 설정 추가
  4. URL 처리 코드 작성
  5. JSP 생성

 

1번부터 3번까지는 반드시 필요한 작업이고 4,5번은 입맛대로 수정하면 된다

 

 

 

 

 

 


pom.xml


 

 

pom.xml이란 Maven을 사용한 Spring Boot가 동작하기 위해 필요한 라이브러리나 여러 정보들을 담고 있는 파일이다

프로젝트 폴더 최상단에 위치한다

 

 

<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
    	
<dependency> 
    <groupId>org.apache.tomcat.embed</groupId> 
    <artifactId>tomcat-embed-jasper</artifactId> 
    <scope>provided</scope> 
</dependency>

 

해당 부분을 추가하여준다

jstl은 Jsp Standard Tag Library의 약자로 JSP를 동작시키기 위해 필요한 라이브러리다

 

아래의 Tomcat은 필요 없는 줄 알고 안 넣었다가 404 에러가 계속 떠서 찾아 넣었습니다

 

 

 

 

 

 


JSP 보관 폴더


 

다음과 같이 폴더구조를 생성해줍니다

굳이 폴더를 추가 생성해주는 이유는 URL을 통해 서버의 구조 정보에 접근하는 걸 막기에 효과적이라고 합니다

 

아직 모의해킹을 해보지는 않아서 얼마나 효과적인지는 모르겠습니다

스파이더를 사용하면 어느 정도 파악이 될 것 같습니다만 많은 사람들이 사용하고 있으니 따라봅니다

 

 

Spring은 처음이라 src/main/java, src/main/resources, src가 다 다른 폴더인 줄 알고 어디에 폴더를 생성해야 하는지 찾는데 시간을 투자했습니다

 

다 같은 경로인데 / 로 접근성을 높인 것 같습니다

아마 컴파일러에서 보기 쉽게 축약시켜준 것 같습니다

 

 

 

 

 

 


application.properties


 

 

application.properties 파일은 src/main/resources 에 있습니다

 

여기서 포트번호도 변경할 수 있습니다

 

server.port=8080
 
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

 

 

폴더 위치와 확장자명을 추가합니다

 

 

 

 

 


URL


 

Node는 app.js에서 route의 js를 통해 url을 처리했는데 Spring Boot에서는 Controller를 통해 URL을 처리합니다

 

 

 

demo 패키지는 프로젝트 생성 시 기본적으로 생성되는 패키지입니다

 

아래에 추가로 controller 패키지와 class를 추가해줍니다

 

package com.example.demo.controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HomeController {
   
   @RequestMapping(value="/")
   public String index() {
       
       return "index";
   }
   
}

 

/ 경로에 대해 처리할 방식을 매핑해줍니다

return을 통해 반환할 파일명을 알려줍니다 

 

그러면 아까 애플리케이션에서 설정한 대로. jsp를 통해 확장자명을 붙여 파일을 찾는 방식으로 처리하는 것 같습니다

 

 

이후 jsp파일을 생성하여 정상적으로 호출이 되는 걸 확인하면 됩니다

 

 

'WEB > Spring Boot' 카테고리의 다른 글

Spring Boot Maven - Security 인증 일시 해제  (0) 2020.07.22
Spring Boot Maven - Request 사용 로그인  (0) 2020.07.22