자바 응용 프로그램 에 Tomcat 시작 내장
가끔 은 Tomcat 의 사용 에 대해 자신의 응용 프로그램 에 내장 되 어 있 고 응용 프로그램 이 Tomcat 서비스의 시작, 종료 등 을 제어 해 야 합 니 다.이 때 Tomcat 의 startup 패키지 에서 제공 하 는 Embedded 클래스 를 통 해 Tomcat 을 응용 프로그램 에 삽입 할 수 있 습 니 다.이러한 장점 은 자신의 응용 프로그램 에 대한 통제 가 비교적 좋 고 외부 에서 볼 때 Tomcat 응용 이 라 고 할 정도 로 강해 보이 지 않 는 다 는 것 이다 (히히).
단점: 비교적 복잡 한 응용 에 대해 사용 하기 가 매우 복잡 해서 아직 이해 하지 못 했다.예 를 들 어 지구 화 매개 변수, 데이터 소스 연결 등 을 설정 하면 비교적 복잡 하 다.이 때 는 게 으 름 을 피 울 수 있 습 니 다. 아래 방법 으로 Tomcat 을 내장 할 수 있 습 니 다.
public void start() {
String command = "cmd.exe /c E:\\test\\apache-tomcat-5.5.27\\bin\\startup.bat";
OSExecute.command(command);
}
public void stop() {
String command = "cmd.exe /c E:\\apache\\apache-tomcat-5.5.27\\bin\\shutdown.bat";
OSExecute.command(command);
}
하하, 사실은 콘 솔 의 시작 방법 으로 시작 하 는 것 입 니 다. 만약 당신 의 응용 시스템 이 소스 코드 에 따라 발표 되 지 않 는 다 면 이것 은 문외한 도 속 일 수 있 습 니 다.이렇게 시작 하려 면 CATALINA 를 설정 해 야 합 니 다.HOME 환경 변수 만 가능 합 니 다.
다음은 Embedded 방식 으로 Tomcat 을 내장 합 니 다.
/**
* API , Tomcat
*
*
* @author kongxy
* @version 0.1
* 2009-5-25
*/
public class ServerManager {
// TODO
private final String tomcatHome = "E:\\test\\apache-tomcat-5.5.27";
private Embedded tomcat;
public void startServer() {
// Tomcat , Tomcat Server
tomcat = createTomcat(tomcatHome);
try {
tomcat.start();
System.out
.println("---------- Tomcat Server start over. ------------");
Lifecycle lc;
} catch (Exception e) {
e.printStackTrace();
}
}
public void stopServer() {
try {
tomcat.stop();
System.out.println("---------------- Tomcat Server stoped -----------------");
} catch (LifecycleException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* entrypoint
*
* @param args
*/
public static void main(String[] args) {
ServerManager manager = new ServerManager();
manager.startServer();
// manager.stopServer();
}
private static Embedded createTomcat(String path) {
// Tomcat Server
Embedded tomcat = new Embedded();
// Tomcat
tomcat.setCatalinaHome(path);
// Tomcat
Engine engine = tomcat.createEngine();
engine.setName("Catalina");
// Host, Host
Host host = tomcat.createHost("localhost", tomcat.getCatalinaHome()
+ "/webapps");
// host.setAppBase("webapps");
host.setAutoDeploy(true);
Context odeContext = tomcat.createContext("/google", host.getAppBase() + "/google");
host.addChild(odeContext);
// Host Engine
engine.addChild(host);
engine.setDefaultHost(host.getName());
tomcat.addEngine(engine);
try {
// Tomcat Connector, (127.0.0.1)
tomcat.addConnector(tomcat.createConnector(InetAddress
.getByName("127.0.0.1"), 8080, false));
} catch (UnknownHostException e) {
System.err.println(" Tomcat Server 127.0.0.1:8080 , .");
e.printStackTrace();
tomcat = null;
}
return tomcat;
}
}
여기까지 입 니 다. 만약 에 어떤 친구 가 비교적 복잡 한 응용 프로그램 을 어떻게 포장 하 는 지 알 고 있다 면 메 시 지 를 남 겨 주세요. 아니면 링크 를 주 셔 도 됩 니 다. 감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.