Dúvida Idiota na configuração do Tomcat

Olá:

Estou estudando o Livro “Java Servlet: Programação” de Hunter e Crawford. Fiz o download dos códigos de exemplo. Descompactei os arquivos. Cada capítulo do livro possui um diretório equivalente com seus respectivos fontes. Além disso cada diretório também possui seu respectivo web.xml. Cada diretório chama-se chXX, onde XX vai de 02 até 20. Copiei estes diretórios para C:javaTomcat 4.1webapps.
O problema começa quando tento acesssar algum servlet. Por exemplo, compilei os *.java em ch03. Tento acessar o Servlet da classe InitCounter. No IE digito http://localhost:8080/ch03/InitCounter. Então o Tomcat retorna a mensagem de Status 404 (“The requested resource (/ch03/InitCounter) is not available.”). No Web.xml aparece o seguinte:

<web-app>
    <!-- From Example 3-3 -->
    <servlet>
        <servlet-name>
            counter
        </servlet-name>
        <servlet-class>
            InitCounter
        </servlet-class>
        <init-param>
            <param-name>
                initial
            </param-name>
            <param-value>
                1000
            </param-value>
            <description>
                The initial value for the counter  <!-- optional -->
            </description>
        </init-param>
    </servlet>
<!-- Outros Servlets -->
<web-app>

Baseando em “servlet-name” tento http://localhost:8080/ch03/counter. Entretanto obtenho o mesmo aviso.
Quando vou ao Tomcat Server Administration e verifico Tomcat Server->Service (Tomcat-Standalone)->Host (localhost), não aparece nenhuma menção aos chXX entre os Contextos. A minha dúvida é: Não basta jogar meu diretório (ou meu atrquivo JAR/WAR) com a aplicação WEB para dentro de webapps, reinializar o Tomcat, e daí posso usá-la?
Acho que estou errando em algo muito simples, mas não consigo descobrir o quê. :oops: Agradeceria qualquer ajuda.

Grato,

tente acessar assim :

http://localhost:8080/servlet/ch03.InitCounter

[]´s

Em <servlet-class> informe em qual pacote está essa classe compilada por exemplo:

<servlet>
<servlet-name>classeA</servlet>
<servlet-class>com.soft.classeA</servlet-class>
</servlet>

<servlet>
<servlet-name>classeB</servlet>
<servlet-class>com.soft.classeB</servlet-class>
</servlet>

Tente criar para cada <servlet> informado no web.xml um mapeamento através do node <servlet-mapping> por exemplo:

<servlet-mapping>
<servlet-name>classeA</servlet-name>
/classeA</servlet-name>
</servlet-mapping>

<servlet-mapping>
<servlet-name>classeB</servlet-name>
/classeB</servlet-name>
</servlet-mapping>

A ordem de configuração é definir primeiramente todos os servlets e por fim na mesma ordem de definição dos servlets, definir o mapeamento dos mesmos, sendo assim a configuração deve ser esta:

<servlet>
<servlet-name>classeA</servlet>
<servlet-class>com.soft.classeA</servlet-class>
</servlet>

<servlet>
<servlet-name>classeB</servlet>
<servlet-class>com.soft.classeB</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>classeA</servlet-name>
/classeA</servlet-name>
</servlet-mapping>

<servlet-mapping>
<servlet-name>classeB</servlet-name>
/classeB</servlet-name>
</servlet-mapping>

[quote=“Rafael Afonso”]Olá:

Estou estudando o Livro “Java Servlet: Programação” de Hunter e Crawford. Fiz o download dos códigos de exemplo. Descompactei os arquivos. Cada capítulo do livro possui um diretório equivalente com seus respectivos fontes. Além disso cada diretório também possui seu respectivo web.xml. Cada diretório chama-se chXX, onde XX vai de 02 até 20. Copiei estes diretórios para C:javaTomcat 4.1webapps.
O problema começa quando tento acesssar algum servlet. Por exemplo, compilei os *.java em ch03. Tento acessar o Servlet da classe InitCounter. No IE digito http://localhost:8080/ch03/InitCounter. Então o Tomcat retorna a mensagem de Status 404 (“The requested resource (/ch03/InitCounter) is not available.”). No Web.xml aparece o seguinte:

&lt;web-app&gt;
    &lt;!-- From Example 3-3 --&gt;
    &lt;servlet&gt;
        &lt;servlet-name&gt;
            counter
        &lt;/servlet-name&gt;
        &lt;servlet-class&gt;
            InitCounter
        &lt;/servlet-class&gt;
        &lt;init-param&gt;
            &lt;param-name&gt;
                initial
            &lt;/param-name&gt;
            &lt;param-value&gt;
                1000
            &lt;/param-value&gt;
            &lt;description&gt;
                The initial value for the counter  &lt;!-- optional --&gt;
            &lt;/description&gt;
        &lt;/init-param&gt;
    &lt;/servlet&gt;
&lt;!-- Outros Servlets --&gt;
&lt;web-app&gt;

Baseando em “servlet-name” tento http://localhost:8080/ch03/counter. Entretanto obtenho o mesmo aviso.
Quando vou ao Tomcat Server Administration e verifico Tomcat Server->Service (Tomcat-Standalone)->Host (localhost), não aparece nenhuma menção aos chXX entre os Contextos. A minha dúvida é: Não basta jogar meu diretório (ou meu atrquivo JAR/WAR) com a aplicação WEB para dentro de webapps, reinializar o Tomcat, e daí posso usá-la?
Acho que estou errando em algo muito simples, mas não consigo descobrir o quê. :oops: Agradeceria qualquer ajuda.

Grato,[/quote]