Niedawno zaktualizowałem mój serwer tomcat z wersji 6.x do najnowszej wersji 7.x.
Wpadłem z niewielkimi problemami, mając nadzieję na pomoc.
Mam aplikację o nazwie MyApp
Na tomcat6, kiedy poszedłem na stronę http://www.example.com/MyApp/page/ , zwykle uzyskałem pożądany wynik.
Teraz na tomcat7, odwiedzając ten sam dokładny adres URL (z ukośnikiem końcowym), pojawia się błąd: „Zasób nie jest dostępny”, ponieważ tomcat uważa, że / MyApp / page / to cała nazwa aplikacji internetowej zamiast nazwy żądań strona w aplikacji internetowej MyApp.
Potrzebuję ukośnika na końcu mojego adresu URL, ponieważ w przeciwnym razie pojawia się błąd: „HTTP Status 405 - Metoda żądania„ GET ”nie jest obsługiwana”, co jest prawidłowe, ponieważ tak naprawdę nie zezwalam na metodę GET na żądanie „strony” .
Jeśli ktoś wie, jak powiedzieć tomcatowi, że końcowy ukośnik po ścieżce istniejącej aplikacji internetowej nie powinien zakładać, że przekieruje ją do nowej aplikacji internetowej wywołującej cały „ciąg” i po prostu przetworzy żądanie jak na tomcat6, byłoby świetnie!
MyApp
aplikację internetową skonfigurowaną z tą nazwą, tomcat użyje tego kontekstu aplikacji internetowej, używając pozostałej ścieżki page/
. Jeśli nie, wyszuka ROOT
kontekst, korzystając z pełnej ścieżki wyszukiwania.
web.xml
mapowanym jest domyślny serwlet/*
? W przeciwnym razie tomcat używa listy plików powitalnych. Zwykle tylko pierwszy segment ścieżki jest interpredetowany jako kontekstowy katalog główny. Dlatego nie wydaje się, aby znalezienie Twojej aplikacji internetowej było problemem.