질문 1. 목록
-
JSP 수정 사항을 적용하려면 다시 시작해야
프로덕션 환경에서는 SpringBoot 재 컴파일 JSP는 큰 성능 손실이 발생할 수 있습니다, 최신 버전, 그래서 공식은 기본적으로이 기능을 해제되었습니다, 문제의 원인을 추적 JspServlet 클래스 매개 변수 초기화를 참조하기가 어렵습니다.
- 사용 DevTools로 (나는이 방법을 사용)
- 구성 추가
server.servlet.jsp.init-parameters.development=true
-
모든 종류를 방지하는 방법 (404)
- 톰캣 + JASPER + JSTL 소개
- 당신은 웹 애플리케이션 디렉토리를 작성해야합니다
빌드로 2 단계 지침
A.으로 비계
봄 Initializr는 첫 번째 프로젝트를 선택하여 구성 전쟁 구축 유형, 전체 구조는 다음입니다 :
우리가 선택한 전쟁 옵션을 유의하시기 바랍니다
B.의 추가 종속성
<!--配置jsp jstl的支持-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!--对jsp的支持-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!--Provided start-->
<!--War包部署到外部的Tomcat中已经包含了这些,所以需要添加以下依赖 否则会和内嵌的Tomcat 容器发生冲突 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
C. 수정 application.properties
#如果按照一般web工程将页面放在src/main/webapp/WEB-INF/jsp/,则配置前缀
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
# 配置Tomcat编码
server.tomcat.uri-encoding=UTF-8
server.port=8001
server.servlet.context-path=/boot
D. 새로운 JSP 페이지
- SRC / 주 아래에 웹 애플리케이션 / WEB-INF / JSP 폴더를 만듭니다.
- 만들기 폴더 Hello.jsp 라에서 JSP
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
Hello,${requestScope.name}
</body>
</html>
E.는 컨트롤러 만들기
package com.hanpang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class IndexController {
@GetMapping({"/","/os01"})
public String test01(Model model){
model.addAttribute("name","胖先森");
return "jsp/hello";
}
}
F. 시작 프로젝트
- 시작 모드 1 : IDE에서 시작 Demo02BootApplication하고 프로젝트 주소를 엽니 다.
-
시작 모드 2 : 시작이 완료되면 배포가 외부 톰캣에, 프로젝트 주소를 엽니 다. 외부 톰캣 배치를 사용하는 경우, 포함 된 컨테이너는 제공된 레벨로 조정할 필요가 있음을 주목해야한다. (충돌 방지)