SOCORRO - SERVLET NÃO FUNCIONA  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
Bancario
What is classpath?

Membro desde: 07/02/2003 08:07:29
Mensagens: 6
Offline

Pessoal,

Sou iniciante nesta maravilhosa linguagem e estou com uma dificuldade de iniciante.
NÃO ESTOU CONSEGUINDO FAZER MEUS SERVLETS RODAREM.
Estou colocando abaixo a descrição do que estou fazendo para ver se alguma alma caridosa me ajude.

Estou usando o jdk1.3.1_06, j2sdkee1.3.1e Tomcat 4.0.3

1)No SERVER CONFIGURATION estou adicionando o seguinte contexto :
<!-- testes Context -->
<Context path="testes" docBase="testes" debug="0"
reloadable="true" crossContext="true"/>

2)Criei o diretório web-inf na mesma pasta da minha aplicação (root/testes), dentro de web-inf criei a pasta classes.
Na pasta web-inf criei o arquivo web.xml com o seguinte conteúdo :

<?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> HelloWorldExample </servlet-name>
<display-name> HelloWorldExample </display-name>
<description> Teste para apresentação de servlet </description>
<servlet-class>servlets. HelloWorldExample </servlet-class>
</servlet>

</web-app>

3)Em seguida aproveitei o arquivo HelloWorldExample da pasta examples, coloquei o .class na pasta /web-inf/classes, o conteudo é o seguinte :

import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
* The simplest possible servlet.
*
* @author James Duncan Davidson
*/

public class HelloWorldExample extends HttpServlet {


public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
ResourceBundle rb =
ResourceBundle.getBundle("LocalStrings",request.getLocale());
response.setContentType("text/html");
PrintWriter out = response.getWriter();

out.println("<html>");
out.println("<head>");

String title = rb.getString("helloworld.title");

out.println("<title>" + title + "</title>");
out.println("</head>");
out.println("<body bgcolor="white">");

// note that all links are created to be relative. this
// ensures that we can move the web application that this
// servlet belongs to to a different place in the url
// tree and not have any harmful side effects.

// XXX
// making these absolute till we work out the
// addition of a PathInfo issue

out.println("<a href="/examples/servlets/helloworld.html">");
out.println("<img src="/examples/images/code.gif" height=24 " +
"width=24 align=right border=0 alt="view code"></a>");
out.println("<a href="/examples/servlets/index.html">");
out.println("<img src="/examples/images/return.gif" height=24 " +
"width=24 align=right border=0 alt="return"></a>");
out.println("<h1>" + title + "</h1>");
out.println("legal, funciona!!!!");
out.println("</body>");
out.println("</html>");
}
}

4)criei um arquivo HTML e fiz a chamada para a servlet da seguinte maneira :
<a href="../servlet/HelloWorldExample"

POR FAVOR, O QUE É QUE ESTOU FAZENDO DE ERRADO ?

Espero que alguém me ajude.

Um abraço,
diogompbr
JavaChild
[Avatar]

Membro desde: 25/10/2002 09:22:45
Mensagens: 112
Localização: São Paulo - SP
Offline

Bancario wrote:2)Criei o diretório web-inf na mesma pasta da minha aplicação (root/testes), dentro de web-inf criei a pasta classes.


Você criou o diretório testes dentro da pasta ROOT?
Assim:
webappsROOT estes

Isso funciona, mas você estará utilizando o contexto ROOT.

Parece que está tudo correto no que fez. Só que o diretório testes tem que estar dentro do diretório webapps para que você tenha o seu próprio contexto (Isso separa sua aplicação das outras).

Para o Tomcat, coloque o seu diretório testes dentro do seu diretório webapps e inicie o Tomcat novamente.
Tente isso..

[]s

Diogo Montanaro Pedroso
diogompbr@yahoo.com.br
[Email] [Yahoo!] [MSN] [ICQ]
Bancario
What is classpath?

Membro desde: 07/02/2003 08:07:29
Mensagens: 6
Offline

testei fazer isso, agora aparece a mensagem "The requested resource (/testes/teste.htm) is not available."
diogompbr
JavaChild
[Avatar]

Membro desde: 25/10/2002 09:22:45
Mensagens: 112
Localização: São Paulo - SP
Offline

Bancario wrote:testei fazer isso, agora aparece a mensagem "The requested resource (/testes/teste.htm) is not available."


Tente chamar o seu servlet... ( testes/servlets/HelloWorldExample )

[]s

Diogo Montanaro Pedroso
diogompbr@yahoo.com.br
[Email] [Yahoo!] [MSN] [ICQ]
Bancario
What is classpath?

Membro desde: 07/02/2003 08:07:29
Mensagens: 6
Offline

Diogo,

tentei, mas ele continuar com o mesmo problema. Se eu colocar o diretório testes dentro de ROOT ele acha os arquivos, caso contrário não.
Mas de nenhum jeito ele acha o servlet.
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

No server.xml, o atribudo "path" do contexto tem q ser "/teste" e nao "teste" ( note que tem uma barra na frente ).
O diretorio da tua aplicacao ( que vc especifica pelo atributo "docBase" ) tem que estar dentro do diretorio "webapps" do tomcat. Depois de alterar o server.xml, vc precisa restartar o tomcat.

Pelo web.xml que voce passou, existem espacos em branco dentro das tags, remova elas ( por exemplo, entre "servlet-class" e o nome do servlet tem um espaco ).

Adicione uma outra tag chamada "servlet-mapping":



E levando em consideracao que o nome da aplicacao eh "testes", acesse via

http://host:porta/testes/HelloWorldExample

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
Bancario
What is classpath?

Membro desde: 07/02/2003 08:07:29
Mensagens: 6
Offline

quando clico no link para acessar a servlet aparece a mensagem :
The requested resource (/servlet/HelloWorldExample) is not available.
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

Vc esta acessando /servlet/HelloWorldExample. Este endereco existe? Faca como mostrei antes

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
Bancario
What is classpath?

Membro desde: 07/02/2003 08:07:29
Mensagens: 6
Offline

Rafael,

eu tinha digitado errado. Fiz aquilo que você orientou. A mensagem de erro agora mudou para :
The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

estou chegando lá ?
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

Agora deu erro na tua aplicacao. Verifique o servlet, se esta tudo ok. Caso ainda nao funcionar, coloque aqui a mensagem de erro.

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
Bancario
What is classpath?

Membro desde: 07/02/2003 08:07:29
Mensagens: 6
Offline

O erro é : The requested resource (/servlets/helloworld.html) is not available.
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

/servlets/helloworld.html existe?? que arquivo eh este? a aplicacao "servlets" existe?

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
diogompbr
JavaChild
[Avatar]

Membro desde: 25/10/2002 09:22:45
Mensagens: 112
Localização: São Paulo - SP
Offline

Pois é... não estou entendendo o porque de chamar o arquivo .html

Você não tem nenhum arquivo html... só tem o seu servlet lá...

Diogo Montanaro Pedroso
diogompbr@yahoo.com.br
[Email] [Yahoo!] [MSN] [ICQ]
Carlos H
JavaTeenager
[Avatar]

Membro desde: 05/11/2002 13:07:13
Mensagens: 196
Localização: Jaraguá do Sul - SC
Offline

Ele chega a mostrar a tela do seu servlet??
No código que você postou na primeira montagem notei que ele monta um link que faz referencia à este arquivo....

Carlos H.
Sun Certified Programmer
Núcleo de Informática UNERJ
Centro Universitário de Jaraguá do Sul
[ICQ]
alexandreadames
Smalltalk

Membro desde: 23/05/2008 07:54:04
Mensagens: 4
Offline

Olá estou com um problema semelhante, só que no meu caso estou usando o glassfish e não o tomcat, vamos lá:

tenho um conjunto de pacotes em minha aplicação que eu já testei e estão funcionando, dentre eles eu tenho um que se chama MecanismosCooperacao que esta dentro de WEB-INF/classes conforme manda o padrão.

O código do jsp que chama o servlet eh seguinte:



Tirando os detalhes da implementação ele tenta chamar um alias chamado egrupo.faq, o meu web.xml é o seguinte:

No glassfish existe outro arquivo de configuração que é o sun-web.xml, o qual está o seguinte:




Quando eu chamo a página web dentro do navegar ele da a seguinte mensagem de erro:

HTTP Status 404 -

type Status report

message

descriptionThe requested resource () is not available.
Sun Java System Application Server 9.1_01

Estou precisando muito fazer este negócio rodar se alguém poder me ajudar eu agradeço muito!
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team