Olá pessoal,
To com um problema na utilização do Tomcat 5.5.
Eu fiz um servlet de teste e coloquei o arquivo .class na pasta “ROOT\WEB-INF\classes” que tá no diretório do Tomcat. Tentei rodar o servlet com a url “http://localhost:8080/servlet/NomeDoServlet”,
mas aí deu erro 404.
Então fiz uma nova pasta dentro do diretorio webapps, um novo web.xml, mas mesmo assim continua o mesmo erro.
Coloca o web.xml pra nós !!!
Esse é o web.xml da pasta ROOT:
<?xml version="1.0" encoding="ISO-8859-1"?>
Welcome to Tomcat
Welcome to Tomcat
<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
Esse foi o que eu fiz:
<?xml version="1.0" encoding="ISO-8859-1"?>
<servlet>
<servlet-name>Teste</servlet-name>
<servlet-class>ServletTeste</servlet-class>
</servlet>
vc tem q chamar:
http://localhost:8080/<nome_da_pasta>/<nome_do_servlet>
Cada pasta é uma aplicação.
O Servlet tem escopo de aplicação.
Por exemplo:
- Vou criar uma pasta webapps/meu_teste.
- Vou criar o arquivo webapps/meu_teste/WEB-INF/web.xml
- Vou copiar o servlet para webapps/meu_teste/WEB-INF/classes/meu_servlet.class
- Dai vou executar: http://localhost:8080/meu_teste/meu_servlet
Meu web.xml será:
<web-app>
<servlet>
<servlet-name>meu_servlet</servlet-name>
<servlet-class>meu_servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>meu_servlet</servlet-name>
<url-mapping>/*</url-mapping>
</servlet-mapping>
</web-app>
Tenta por ai !!!
[quote=romuloaugusto]Olá pessoal,
To com um problema na utilização do Tomcat 5.5.
Eu fiz um servlet de teste e coloquei o arquivo .class na pasta “ROOT\WEB-INF\classes” que tá no diretório do Tomcat. Tentei rodar o servlet com a url “http://localhost:8080/servlet/NomeDoServlet”,
mas aí deu erro 404.
Então fiz uma nova pasta dentro do diretorio webapps, um novo web.xml, mas mesmo assim continua o mesmo erro.[/quote]
O uso de servlets usando /servlet/ está desabilitado por default no Tomcat. Você precisa indicar explicitamente o servlet no web.xml da sua aplicação Web.
Valeu pela ajuda, mas mesmo assim ainda não funciona.
Fiz uma pasta de teste com todas as outras dentro dela (WEB-INF/classes) e coloquei um arquivo texto dentro de teste. Então digitei na url: http://localhost:8080/teste e ai o arquivo texto apareceu listado mas na hora de carregar o servlet: http://localhost:8080/teste/ServletTeste ou http://localhost:8080/teste/servlet/ServletTeste não funciona.
Valeu!
Valeu pela ajuda pessoal, consegui rodar.
a url que eu usei foi essa: http://localhost:8080/teste e usei no web.xml a tag como foi dito em uma das respostas.
Valeu!