Mais uma vez dou um grito de desespero , e desta vez é graças ao Tomcat 4.1.34.
Pessoal a questão é a seguinte eu não consigo correr os meus servlets a partir do diretório criado por mim , o browser sempre dá o seguinte erro description: The requested resource (/meusServlets/servlet/HelloServlet) is not available.
Eu adicionei a seguinte linha de códico no file server.xml <Context path="/meusServlets" docBase=“meusServlets” debug=“0” reloadable=“true” />
Já setei todas as variavéis (JAVA_HOME,CLASSPATH etc) mas ele continua a dar o mesmo erro.
Será que o erro está no web.xml file ? O que é que eu devo colocar nesse file ? Alguém tem um exemplar para mim ?
Eu já li o tutorial do Tomcat do GUJ mas não me ajudou lá muito, será que alguém pode me ajudar ?
Assim não funcionou ,eu tentei o seguinte : “localhost/meusServlets/servlet/HelloServlet”, e deu certo, só que agora surgiram mais dois fenómenos que gostaria que me ajudassem a entender.
1- Quando eu mudo a url-pattern de “/servlet/” para (por exemplo) “/ehb/” não consigo acessar a aplicação, mesmo mudando de “servlet” para “ehb” na url (localhost/meusServlets/ehb/HelloServlet).Mas se eu colocar “servlet” na url (localhost/meusServlets/servlet/HelloServlet ) ele encontra a aplicação , mesmo que a pattern seja “/ehb/” e não “/servlet/”.
2- Eu adiciono mais classes ao meu WEB-INF/classes directório e consigo executa-las pelo meu browser sem referenciar essas aplicações no meu web.xml ficheiro, a que se deve isto ?
Obrigado pela atenção.
otaviofcs
Tem algo estranho. Não lembro se a versão 4.1 do tomcat funciona assim, mas acho que não, pelo menos por default, não sei se tem configuração que libere o acesso direto. A pasta WEB-INF/classes existe para que, justamente, pessoas externas não tenham acesso direto a suas classes.
A sua classe HelloServlet tá no pacote servlet por acaso?
Anexa seu web.xml pra gente olhar. Tem algo que não fecha…
E
Ehb
Não, esta é a path da pasta : C:\tomcat\apache-tomcat-4.1.34-LE-jdk14\webapps\meusServlets\WEB-INF\classes
Qual web.xml , o que vem na pasta conf do Tomcat ou aquele que està na pasta WEB-INF (já postado) da minha aplicação ?
Já agora mais uma coisa , é que eu apaguei o web.xml para a minha aplicação mas eu consigo executar o meus servlets, já criei outras pastas (com WEB-INF \classes) e consigo executar os servlets mesmo sem o web.xml file.
E
Ehb
Descobri qual era a causa do problema , eu havia activado o invoker servlet no conf/web.xml, está tudo OK (por enquanto).
Só mais uma perguntinha meus caros irmãos , qual é a função do elemento [color=green][/color]url-pattern ? Porquê que temos que definir um padrão ?
Obrigado pela vossa paciência.
otaviofcs
Que bom q vc viu o conf
Vamos tentar:
url-mapping é um padrão de url que será associado à um determinado servlet. No caso você estava associando o caminho http://servidor:porta/aplicacao/servlet/ para HelloServlet
Você poderia ter colocado ao invés de /servlet/ /servlet/*.aplic e aí toda vez que digitassem