#35 springboot: embeded tomcat - start(spring)
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package hello.embed;
|
||||
|
||||
import hello.spring.HelloConfig;
|
||||
import org.apache.catalina.Context;
|
||||
import org.apache.catalina.LifecycleException;
|
||||
import org.apache.catalina.connector.Connector;
|
||||
import org.apache.catalina.startup.Tomcat;
|
||||
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
|
||||
import org.springframework.web.servlet.DispatcherServlet;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class EmbedTomcatSpringMain {
|
||||
|
||||
public static void main(String[] args) throws LifecycleException {
|
||||
System.out.println("EmbedTomcatSpringMain.main");
|
||||
|
||||
// 톰캣 설정
|
||||
Tomcat tomcat = new Tomcat();
|
||||
Connector connector = new Connector();
|
||||
connector.setPort(8080);
|
||||
tomcat.setConnector(connector);
|
||||
|
||||
// 스프링 컨테이너 생성
|
||||
AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
|
||||
appContext.register(HelloConfig.class);
|
||||
|
||||
// 스프링 MVC 디스패처 서블릿 생성, 스프링 컨테이너 연결
|
||||
DispatcherServlet dispatcher = new DispatcherServlet(appContext);
|
||||
|
||||
// 디스패처 서블릿 등록
|
||||
Context context = tomcat.addContext("", "/");
|
||||
|
||||
File docBaseFile = new File(context.getDocBase());
|
||||
|
||||
if (!docBaseFile.isAbsolute()) {
|
||||
|
||||
docBaseFile = new File(((org.apache.catalina.Host) context.getParent()).getAppBaseFile(), docBaseFile.getPath());
|
||||
|
||||
}
|
||||
|
||||
docBaseFile.mkdirs();
|
||||
|
||||
tomcat.addServlet("", "dispatcher", dispatcher);
|
||||
context.addServletMappingDecoded("/", "dispatcher");
|
||||
tomcat.start();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user