Oi Andre,
no caso de aplicacoes web, nao precisa / nao adianta configurar o CLASSPATH. Voce simplesmente tem que colocar os .class (na estrutura correta do pacote, se houver) dentro do diretorio WEB-INF/classes da tua webapp.
Depois disso, eh preciso configurar o arquivo WEB-INF/web.xml com o mapeamento do servlet. Esse lance de /servlet/xxx nao eh mais usado. Voce tem duas maneiras de configurar o web.xml para o teu servlet. Eis um exemplo abaixo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>alo-servlet</servlet-name>
<servlet-class>AloMundoServ</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>alo-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Em “AloMundoServ” voce coloca o nome da tua classe SEM a extensao .class. A tag “” eh usada apenas para referenciar esse servlet dentro do arquivo de configuracao. Note que usamos isso no .
O eh usado para mapear o padrao de acesso ao teu servlet. No caso, “/*” significa que qualquer coisa que voce digitar na url vai invocar o servlet. Voce pode mapear para alguma determinada extensao tambem, bastando colocar o nome dela, como em
<servlet-mapping>
<servlet-name>alo-servlet</servlet-name>
<url-pattern>*.blah</url-pattern>
</servlet-mapping>
Assim, voce acessando http://localhost:8080/servlets-examples/Alo.blah ira invocar o teu codigo. No caso do “/*”, qualquer noem que voce usar ira funcionar:
http://localhost:8080/servlets-examples/AloMundoServ
http://localhost:8080/servlets-examples/Servlet123
http://localhost:8080/servlets-examples/abc
Essa eh a ideia dos mappings.
Rafael