2013-03-22 20 views
5

Eclipse Web Tools Platform (WTP) umożliwia skonfigurowanie do "moduły serwera bez publikacji" Tomcat:Szczegóły techniczne modułów serwerów bez publikowania w Eclipse WTP i Tomcat?

zawartości sieci Web będą podawane bezpośrednio z "WebContent" folderu Dynamic Project Web. Dostosowany kontekst jest używany do udostępniania zależności projektu w programie ładującym klasy aplikacji WWW.

W 5 krokowym procesie (żartujesz, wybierasz # kroków), co dzieje się technicznie i gdzie są pliki generowane przez Eclipse? Zauważyłem, że Eclipse wygenerował plik org.eclipse.jst.server.tomcat.runtime.70.loader.jar w katalogu lib Tomcat.

Odpowiedz

13

Chodzi o to, aby służyć aplikacji internetowej bezpośrednio z rozproszonej struktury katalogów obszaru roboczego rozwoju, bez modułów pakujących w JAR, które następnie kończą się w WEB-INF/lib w WAR.

Główne korzyści to:

  • Nie trzeba budować archiwum.
  • Po zmianie zasobu w obszarze roboczym zmiana zostaje odzwierciedlona w działającym webappie bez ponownego wdrażania aplikacji internetowej lub restartowania serwera.

Z Servlet 3.0, zasoby internetowe mogą być również dołączane w słoikach bibliotecznych w META-INF/resources, więc zajęcia i środki mogą pochodzić z wielu katalogów pracy.

Tomcat 7.0 obsługuje VirtualWebappLoader i VirtualDirContext, aby skonfigurować aplikację internetową opartą na zbiorze rozproszonych katalogów zasobów i klas.

Aby służyć swoją aplikację bezpośrednio z obszaru roboczego Eclipse WTP generuje odpowiednią konfigurację Tomcat dopasowanie struktury projektu w $WORKSPACE/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/conf/server.xml

Z jakiegoś powodu, WTP nie bezpośrednio korzystać z implementacji do załadunku i kontekstu Tomcat, ale ma swój własne WtpDirContext i WtpWebappLoader, które są nieco inne, ale podobne. (Wydaje mi się, że to podejście jest starsze niż obecne rozwiązanie w Tomcecie, ale istnieje pewna specjalna logika do skanowania TLD - nie jestem pewien, czy jest to nadal wymagane w najnowszych wersjach Tomcat.) Te helper classes są zawarte w zauważonym org.eclipse.jst.server.tomcat.runtime.70.loader.jar.

Bez Podawać modułów bez publikowania po zmianie zasób internetowy w META-INF/resources w module biblioteki, zmiana ta nie będzie bezpośrednio widoczna w aplikacji działającej po przeładunku bieżącą stronę w przeglądarce.