ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 부트에서 JSP 사용하기
    SPRING/스프링 MVC 2021. 6. 13. 03:08

    제약 사항

    - JAR 프로젝트로 만들 수 없음. WAR 프로젝트로 만들어야 함.

    - JAVA -JAR로 실행 할 수는 있지만, "실행가능한 JAR파일"을 지원하진 않음.

    ex:)  java -jar target\demo-0.0.1-SNAPSHOT.war

    -언더 토우(JBOSS에서 만든 서블릿 컨테이너)는 JSP를 지원하지 않음.

    - Whitelabel 에러 페이지를 error.jsp로 오버라이딩 할 수 없음.

     

    의존성 추가

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

    아래와 같이 WEB-APP/WEB-INF 밑 경로에 jsp 파일을 추가한다.

    public class Event {
    
        private String name;
    	private LocalDateTime starts;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public LocalDateTime getStarts() {
            return starts;
        }
        public void setStarts(LocalDateTime starts) {
            this.starts = starts;
        }
    }
    
    @Controller
    public class EventController {
    
        @GetMapping("/events")
        public String getEvents(Model model) {
            Event event1 = new Event();
            event1.setName("스프링 웹 MVC 스터디1");
            event1.setStarts(LocalDateTime.of(2019, 1, 15, 10, 0));
            Event event2 = new Event();
            event2.setName("스프링 웹 MVC 스터디2");
            event2.setStarts(LocalDateTime.of(2019, 1, 15, 10, 0));
            List<Event> events = List.of(event1, event2);
            model.addAttribute("events", events);
            model.addAttribute("message", "Happy New Year!");
    
            return "events/list1";
        }
    }
    
    
    
    

    Application.properties :

    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp

     

    WAR파일 생성하기

    .\mvnw package

     

    WAR파일 실행하기

    java -jar target\demo-0.0.1-SNAPSHOT.war

     

     

    'SPRING > 스프링 MVC' 카테고리의 다른 글

    HandlerInterceptor (서블릿 필터 비교)  (0) 2021.06.15
    Formatter 추가하기  (0) 2021.06.14
    SPRING MVC 설정 관련 정리  (0) 2021.06.11
    스프링 MVC -WEB.XML 제거  (0) 2021.06.10
    DispatchServlet 분석  (0) 2021.06.06
Designed by Tistory.