2012-06-25 3 views
0

Vaadin 프레임 워크를 사용하여 Java에서 웹 애플리케이션을 개발 중입니다.아파치 웹 사이트의 Java 웹 애플리케이션

저는 Apache Tomcat에서이 응용 프로그램을 실행하고 있습니다. 제가 물어보고 싶은 것은 Apache Tomcat에서 해당 응용 프로그램을 실행하고 두 대의 다른 컴퓨터에서 두 개의 서로 다른 브라우저를 사용하여 동일한 응용 프로그램에 액세스 한 다음 응용 프로그램이 Tomcat에서 두 개의 인스턴스를 갖거나 단일 인스턴스가 있는지 여부입니다. 나는 그것을 찾았으나 만족스러운 답을 찾을 수 없었다.

감사합니다.

+3

나는 Vaadin을하지 않지만 서블릿 API 위에 구축 된 다른 모든 제 3 자 Java EE 웹 MVC 프레임 워크이므로이 대답은 사용자가 찾고있는 것일 수 있습니다. http://stackoverflow.com/question/3106452/how-do-servlets-work-instantiation-session-variables-and-multithreading/3106909 # 3106909 – BalusC

답변

1

Tomcat의 인스턴스 하나와 Vaadin 앱의 인스턴스가 많이 있습니다.

Vaadin 앱에 액세스하려면 사용자가 웹 브라우저에서 Vaadin 앱의 URL을 가리 키십시오. 웹 브라우저에서 요청을 받아들이려면 Tomcat이 이미 실행 중이어야합니다. 이미 실행중인 Tomcat 인스턴스가 요청을 수신하면 Tomcat은 새 스레드를 시작합니다. 이 스레드에서 Vaadin "Application"클래스의 하위 클래스의 새 인스턴스가 생성되어 실행됩니다.

그래서 Vaadin 앱을 5 명의 동시 사용자가 사용하고 있다면 하나의 Tomcat 인스턴스가 실행됩니다. 그리고 그 Tomcat 인스턴스는 5 개의 세션을 실행하며 각각은 자신의 스레드에서 Vaadin "Application"서브 클래스의 자체 인스턴스를 실행합니다.

앱에서 '정적'으로 표시된 항목은 앱의 5 가지 인스턴스 모두에 적용되며 '정적'으로 표시되지 않은 항목은 앱의 단일 인스턴스 (단일 사용자)에만 적용됩니다.

+0

자세한 답변을 주셔서 감사합니다. 이제는 모호함이 사라졌습니다. 다시 한번 감사드립니다. –

+0

"정적"참조로 좋은 힌트, 완전히 맞습니다. – Waylander

3

Tomcat에서 웹 응용 프로그램을 실행하면 응용 프로그램을 호스팅 할 Tomcat 인스턴스가 정확히 하나만 있습니다. 이 단일 Tomcat 인스턴스 (따라서 웹 애플리케이션)는 여러 컴퓨터에서 여러 가지 브라우저 요청을 처리 할 수 ​​있습니다. 이는 웹 서버가 설계 한 것과 정확히 같습니다. 여러 클라이언트의 요청을 처리합니다.

+0

그게 내가 찾고 있던 대답이다. 정말 고맙습니다. –

관련 문제