Web.xml não existe no projeto

15 respostas
B

Boa tarde, galera…

Faz um tempo que venho tentando aprender a desenvolver para Web com Java. Imprimi toda a apostila da Caelum e tentei segui-la, porém esbarrei em um porém…

Na apostila deles, falam que quando é criado um Dynamic Web Project (DWP), automaticamente dentro do diretório WEB-INF é criado um web.xml, que é utilizado para mapear toda a aplicação web… mas no meu DWP esse arquivo não existe, como mostra a imagem abaixo…

O que posso fazer?

15 Respostas

H

Muda a perspectiva do eclipse para Java.

B

Henrique, modifiquei a perspectiva mas o web.xml ainda não aparece…

H

Se você está usando Servlet 3.0 o arquivo web.xml é opcional. Caso você precise do arquivo é só criar um.

B

Sim, estou usando o Servlet 3.0. Não sabia que era opcional.

Mas se é opcional, como configurar o meu projeto para que ele rode no servidor?

Onde configurar o welcome-file, por exemplo?

Onde definir por onde determinado servlet deve ser acessado?

H

Para definir o servlet você irá usar anotações na classe.

Da uma olhada aqui:

http://blog.caelum.com.br/2010/01/08/java-ee6-comecando-com-as-servlets-3-0/

http://today.java.net/pub/a/today/2008/10/14/introduction-to-servlet-3.html

http://quebrandoparadigmas.wordpress.com/2010/02/08/servlet-3-0/

http://www.infoblogs.com.br/view.action?contentId=219730

http://www.jteam.nl/specials/techtalks/0116/attachment/Servlet3.pdf

B

O que eu estou fazendo errado?

H

Você tem que dar uma estudada sobre servlets. O que você quer fazer? Que erro está dando?

B

Henrique, eu estou acompanhando a apostila da Caelum sobre desenvolvimento Web e iniciei a leitura do Struts em ação, mas se não consigo nem botar o servidor pra funcionar, não tem como acompanhar e aprender mais… por isso apelei pra ajuda heheh

Eu quero simplesmente que o “Oi Mundo” (da linha 22 out.println(“Oi Mundo”):wink: seja impresso no navegador quando eu entrar em http://localhost:8080/fj21-agenda/oi, sendo fj21-agenda o nome do projeto e oi que mapeei através do annotation @WebServlet( value="/oi" )

H

Coloque esse método no seu servlet.

public void doGet (HttpServletRequest req, HttpServletResponse res)  throws ServletException, IOException{
    PrintWriter out = res.getWriter();
    out.println("Hello, world!");// isso irá aparecer no browser
    out.close();
 }
B

Continuo recebendo erro 404:

HTTP Status 404 - /fj21-agenda/oi

type Status report

message /fj21-agenda/oi

description The requested resource (/fj21-agenda/oi) is not available.
Apache Tomcat/7.0.4

H

Voce fez o deploy direito?
Cria uma pagina index.html e vê se ele encontra.

B

Ele não encontra de jeito nenhum…

H

Olá, Born To Be Wild

Vc tem que estar sempre atento aos caminhos onde foram colocados todos os arquivos. Seu web.xml tem que estar dentro da pasta WEB-INF.

Na minha assinatura tem um exemplo de como montar um Webserver. Apesar de que no exemplo está feito com o eclipse, ele pode ser utilizado em qualquer linguagem.

Inté! \o_

B

jakefrog:
Olá, Born To Be Wild

Vc tem que estar sempre atento aos caminhos onde foram colocados todos os arquivos. Seu web.xml tem que estar dentro da pasta WEB-INF.

Na minha assinatura tem um exemplo de como montar um Webserver. Apesar de que no exemplo está feito com o eclipse, ele pode ser utilizado em qualquer linguagem.

Inté! \o_

Boa noite, jake

Mas o web.xml não é opcional?

Abraços!!

H

Desculpe a demora em responder.

Opcional não, obrigatório. Digamos que é a “entrada” do servidor. Nele fica configurado a estrutura do sistema.

Nele não é obrigatório que ele tenha todas as ações do sistema. Caso você use JSF, por exemplo, vc irá apenas maper o caminho do jsf e pronto. Você não irá precisar mais servlets, toda config será feita pelo faces-config ou por annotations.

Tente fazer esse passo a Hello World, nele você vai perceber o quanto web.xml é necessário.

\o_

Criado 21 de novembro de 2010
Ultima resposta 28 de nov. de 2010
Respostas 15
Participantes 3