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.