Pasta da Aplicação (Servlet)

Pessoal, tenho visto muitos tópicos no fórum sobre o caminho para um servlet. Entretanto, nenhum dos exemplos dados funcionou.

Tenho instalado o Tomcat 4.1.18. No browser, quando faço http://127.0.0.1:8080 a página inicial do Tomcat entra, belezinha! Mas eu escrevi um servlet para teste chamado FirstServlet.java. Compilei e tenho o FirstServlet.class; belezinha tb.

Acontece que eu quero que esse servlet fique em um outro local (físico no meu HD). Suponhamos C:\meus-servlets. O que é preciso para isso? Tenho tentado de diversas maneiras e não consegui (talvez o “raciocíonio-IIS” esteja me atrapalhando :oops: ).

Obrigado.

Boas,

É simples, voce só tem que ir ao ficheiro de configuração do tomcat (server.xml) que se encontra em TOMCAT_HOME/conf e aí só tem que acrescenter dentro do body da tag <Host> por exemplo:

&lt;Context path=&quot;/meusServlets&quot; docBase=&quot;c&#58;\meus-servlets&quot; debug=&quot;0&quot; reloadable=&quot;true&quot; crossContext=&quot;true&quot;/&gt;

depois no browser só tem que escrever http://localhost:8080/meusServlets para aceder. Não se esqueca que o seu directorio tem que ter um ficheiro web.xml dentro de um directorio chamado WEB-INF senão acho que não irá funcionar.

Peace!

Valeu, sua informação fez acontecer uma coisa que eu não tinha conseguido. Agora, quando entro no Tomcat Manager, aparece a aplicação /meuservlet. Ela aparece com uma descrição nula (pq não configurei) e aparece como não estando em execução (running false). Eu clico em Start e nada muda. Eu tento acessar http://localhost:8080/meuservlet e obtenho o seguinte:

HTTP Status 404
The requested resource (/meuservlet) is not available

Compreensível…, a aplicação não está rodando.
Criei em C:\meus-servlets uma pasta chamada WEB-INF e dentro dela o arquivo web.xml:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt; &lt;!DOCTYPE web-app PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quot; &quot;http&#58;//java.sun.com/dtd/web-app_2_3.dtd&quot;&gt; &lt;web-app&gt; &lt;!-- SERVLETS --&gt; &lt;servlet&gt; &lt;servlet-name&gt;FirstServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;FirstServlet&lt;/servlet-class&gt; &lt;/servlet&gt; &lt;!-- PATTERNS --&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;FirstServlet&lt;/servlet-name&gt; &lt;url-pattern&gt;FirstServlet&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;session-config&gt; &lt;session-timeout&gt;30&lt;/session-timeout&gt; &lt;!-- 30 minutes --&gt; &lt;/session-config&gt; &lt;/web-app&gt;

O servlet FirstServlet.class está na raiz em C:\meus-servlets…;
fiz caca, né?! :roll:

todos os servlets têm que ser colocados em SEU_DIRECTORIO\WEB-INF\classes, no seu caso será c:\meus-servlets\WEB-INF\classes, enquanto não aparecer no tomcat manager que a aplicação está a rodar é porque alguma coisa está errado. Tente fazer isto, acho que deve ser suficiente.

PEACE!

wow! isso não é um fórum é um help-desk. :mrgreen:
Morcego, valeu pela ajuda. Eu reiniciei o Tomcat depois das alterações e deu um pau mucho loco… ele acusou erro na validação do documento xml (provavelmente o web.xml – o estranho é que eu peguei do exemplo q vc deu no outro tópico do fórum)… vou me referir a documentação para ver o que há de errado com ele.

Tíssimo obrigado, morcego…;
Um abraço.

Se deu erro a lançar o tomcat então o erro está em server.xml, veja se colocou como eu disse, procura pela tag </Host> no server.xml e coloco o que eu disse exactamente antes da tag fechar, assim não há hipoteses de falhar…

PEACE!

Foi exatamente o q eu fiz, veja:

[code]…
</ResourceParams>
<ResourceLink name="linkToGlobalResource"
global="simpleValue"
type="java.lang.Integer"/>
</Context>

    &lt;!--
        abaixo, meu contexto de teste.
        DanGO
    --&gt;
    &lt;Context path=&quot;/meuservlet&quot; docBase=&quot;c&#58;\meus-servlets&quot; 
                                debug=&quot;0&quot; 
                                reloadable=&quot;true&quot; 
                                crossContext=&quot;true&quot;/&gt; 

  &lt;/Host&gt;

&lt;/Engine&gt;

</Service>

<!-- The MOD_WEBAPP connector is used to connect Apache 1.3 with Tomcat 4.0
as its servlet container. Please read the README.txt file coming with
the

[/code]

hmm… acho q ja sei qual deve ser o erro… você se esqueceu de uma barra no <url-pattern> do web.xml

experimente o seguinte código no web.xml

&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt; &lt;!DOCTYPE web-app PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quot; &quot;http&#58;//java.sun.com/dtd/web-app_2_3.dtd&quot;&gt; &lt;web-app&gt; &lt;!-- SERVLETS --&gt; &lt;servlet&gt; &lt;servlet-name&gt;FirstServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;FirstServlet&lt;/servlet-class&gt; &lt;/servlet&gt; &lt;!-- PATTERNS --&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;FirstServlet&lt;/servlet-name&gt; &lt;url-pattern&gt;/FirstServlet&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;session-config&gt; &lt;session-timeout&gt;30&lt;/session-timeout&gt; &lt;!-- 30 minutes --&gt; &lt;/session-config&gt; &lt;/web-app&gt;

depois tente chamar no browser http://localhost:8080/meuservlet/FirstServlet.

se agora não funcionar desisto :stuck_out_tongue: :lol:

GREAT! funcionou… o Tomcat diz que a aplicação está rodando, o erro não ocorre mais, mas ainda não consigo executar o FirstServlet.class… tentei de diversas maneiras:

http://localhost:8080/meuservlet/FirstServlet.class
http://localhost:8080/meuservlet/classes/FirstServlet.class
http://localhost:8080/meuservlet/WEB-INF/classes/FirstServlet.class

Testei para desencargo de consciência; Os erros que ocorrem são sempre o 404 (request resource not available)…

Valeu, morcego!
:smiley:

kewl… agora como disse só tem que colocar o ficheiro FirstServlet.class em c:\meus-servlets\WEB-INF\classes e depois acedo-lo em http://localhost:8080/meuservlet/FirstServlet. Apenas isto. O tomcat demora uns segundos a actualizar os servlets, se você nao for mto paciente pode sempre ir ao Tomcat Web Application Manager e fazer reload da sua aplicação.

PEACE!

Oh wow! agora sim… rodou belezinha… :mrgreen:
Putz, morcego, dia desses tenho q te mandar grana pra uma pizza.

Abraços e muito obrigado!
Morcego, rulezz!