Configurar subdiretórios p/ conter JSP e servlets

Meus amigos,

Desculpem por estar repetindo a mesma pergunta, mas ainda estou com o mesmo problema. Tenho pesquisado na internet, mas não consegui uma resposta.

Estou construindo uma parte do site que é para administração do próprio site. Para não misturar as páginas (JSP e Servlet) deste módulo de administração com as demais páginas do site, criei outros subdiretórios comforme mostrado abaixo:

Para os JSPs do site
c: / tomcat / webapps / meuSite

Para os JSPs do módulo Administrador (criei um subdiretório administrador embaixo do diretório do site)
c: / tomcat / webapps / meuSite / administrador

Para os Servlets do site
c: / tomcat / webapps / meuSite / web-inf / classes

Para os Servlets do módulo Administrador (criei um subdiretório administrador embaixo do diretório do classes)
c: / tomcat / webapps / meuSite / web-inf / classes / administrador

A minha dúvida é de como configurar o arquivo web.xml ou outra coisa qualquer que precise ser configurada com esse novo subdiretório, para que eu consiga chamar o servlet pelo JSP.

Eu configurei o web.xml da seguinte forma:
<servlet>
<servlet-name>TestaAcesso</servlet-name>
<servlet-class>administrador.TestaAcesso</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestaAcesso</servlet-name>
/TestaAcesso
</servlet-mapping>

Onde TestaAcesso é o meu servlet e administrador é o subdiretório onde está o servlet, criado abaixo do subdiretório classes .

Quando eu chamo o JSP no browser com http://localhost:8080/divecenter/administrador/index.jsp, funciona normalmente. Mas quando o index.jsp chama o servlet TestaAcesso, dá o seguinte erro:

type - Status report
message - /divecenter/administrador/TestaAcesso
description - The requested resource (/divecenter/administrador/TestaAcesso) is not available.

Ou seja, o servlet não foi encontrado, mas na verdade está lá.

Quando eu configuro o web.xml conforme abaixo:

<servlet-mapping>
<servlet-name>TestaAcesso</servlet-name>
/administrador/TestaAcesso
</servlet-mapping>

O JSP continua funcionando, mas quando o index.jsp chama o servlet TestaAcesso, dá o seguinte erro:

type - Exception report

message -

description - The server encountered an internal error () that prevented it from fulfilling this request.

exception -

javax.servlet.ServletException: Error allocating a servlet instance
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:672)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
.
.
.
root cause

java.lang.NoClassDefFoundError: administrador/TestaAcesso (wrong name: TestaAcesso)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
.
.
.

Alguém pode me dizer o que está errado? Ou até me dizer se isso que estou tentando fazer, ou seja, criar esses subdiretórios para separar os JSPs e servlets do módulo administrador, é ou não possível?

Abraços,

O código de mapeamento não está correto:

<servlet-mapping> 
<servlet-name>TestaAcesso</servlet-name> 
/administrador/TestaAcesso 
</servlet-mapping> 

Deveria ser

<servlet-mapping> 
  <servlet-name>TestaAcesso</servlet-name> 
  <url-pattern>/administrador/TestaAcesso</url-pattern>
 </servlet-mapping> 

Além do problema do web.xml, eu também tinha esquecido de direcionar o servlet para dentro do pacote. Agora está funcionando.

Obrigado!

Augusto