Witam,
Stworzyłem prosty serwlet w Eclipse realizujący funkcjonalność logowania. Nazwa użytkownika pobierana jest z bazy danych a następnie wyświetlana jest odpowiednia strona JSP. Jako kontener serwletów wybrałem Tomcat 5.5. Zintegrowałem go sobie z Eclipse aby łatwo uruchamiać i debugować projekt. Jako bazę danych wybrałem PostgreSQL 8.3. Skonfigurowałem odpowiednio źródło danych w plikach XML i wszystko działa bez zarzutu z poziomu Eclipse. Zachęcony pozytywnymi wynikami pracy postanowiłem wdrożyć projekt na Tomcat i uruchomić go bezpośrednio z przeglądarki internetowej.
- skopiowałem odpowiedni plik war do katalogu webapps w Tomcat
- uruchomiłem serwer
- wywołałem serwlet w przeglądarce i w momencie nawiązywania połączenia z bazą danych dostałem wyjątek: Cannot load JDBC driver class 'org.postgresql.Driver'.
Sterownik znajduje się w katalogu conf/lib oraz webapps/{nazwa_projektu}/WEB-INF/lib. Nie mam pojęcia dlaczego Tomcat go nie widzi! To co jest dla mnie najbardziej zaskakujące to, że jeżeli uruchomię serwer Tomcat poprzez Eclipse to wszystko działa z poziomu przeglądarki [!!!] [!!!] [!!!] Jeżeli natomiast uruchamiam go z poziomu systemu operacyjnego dostaję wyjątekj jak wyżej. Pliki konfiguracyjne wskazujące źródło danych:
contex.xml
<Context path="/Web1" docBase="Web1"
debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/postgres" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="user_name" password="password" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/db"/>
</Context>
web.xml
<description>Web1</description>
<resource-ref>
<res-ref-name>jdbc/postgres</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Czy ktoś z szanownych forumowiczów może zasugerować na czym plega problem?? Dlaczego wyjątek pokazuje się tylko wtedy gdy serwer uruchamiany jest bezpośrednio przez skrypt startowy Tomcat?? Może ktoś z Was wie w jaki "specjalny" sposób Eclipse uruchamia serwer Tomcat?? Z góry dziękuję za pomoc.