Use a cabeca servlet & jsp

20 respostas
F

Espero que alguém saiba essa .Por favor Alguém esta estudando pelo livro use a cabeja servlet & jsp??Se sim,alguém misericordioso poderia me dizer se o exercicio de criar um servlet esta correcto?Pois faço tudo direitinho e
quando colo o endereço http://localhost:8080/ch1/Serv1
sai a mensagem bem simpática que diz que nao encontrou nada!!
message /dev/
description The requested resource (/dev/) is not available.
O exercicio é o da pagina 19":shock:
help!

20 Respostas

B

Ola,

Eu nõa estou com o livro aqui, mas já o li, e diria pra vc, dá uma olhada, eu fiz todos os exercicios e todos funcionáram legal.

rodrigo_gomes

Olá,

como está o seu web.xml?

F

rodrigo_gomes:
Olá,

como está o seu web.xml?


Eu copiei igual ao do livro verifiquei várias vezes e esta realmente igual
ja tem 3 dias que instalo e desinstalo o tomcat nao sei o que fazer! :frowning:

F

fica melhor se mandar

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">
 <servlet>
     <servlet-name>Chapter1 Servlet</servlet-name>
     <servlet-class>Ch1Servlet</servlet-class>
   </servlet>
   <servlet-mapping>
   <servlet-name>Chapter1 Servlet</servlet-name>
   <url-pattern>/Serv1</url-pattern>
   </servlet-mapping>
   </web-app>
juniormaverick

kkkkkkkkkkkkkkk, cara estou rindo pq acabai de comprar o livro e estou estudando para certificação também estava com o mesmo problema;

o meu resolvi da seguinte maneira.

Dentro da pasta webapps do tomcat

crie a pasta “ch1”
dentro de ch1 criei “WEB-INF”
dentro de WEB-INF coloquei meu arquivo web.xml;
dentro de WEB-INF criei a pasta “classes”
dentro de classes coloquei meu arquivo .class

ficou assim

ch1
–|----WEB-INF
-----------|----web.xml
-----------|----classes
--------------------|----arquivo .class

Esta era minha braçada, ve se a tua era esta. Depois posta ai para falar se deu certo.

juniormaverick

Cara me manda uma mensagem privada com seu msn…Já que estamos estudando a mesma coisa vamos tirando as dúvidas um do outro…vlw…

E
fabioEM:
fica melhor se mandar
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">
 <servlet>
     <servlet-name>Chapter1 Servlet</servlet-name>
     <servlet-class>Ch1Servlet</servlet-class>
   </servlet>
   <servlet-mapping>
   <servlet-name>Chapter1 Servlet</servlet-name>
   <url-pattern>/Serv1</url-pattern>
   </servlet-mapping>
   </web-app>
Hi, Eu acho que tu esqueces-te de por a tag mais importante , aquela que identifica o file como sendo um xml file
<?xml version="1.0" encoding="ISO-8859-1" ?>
. Podes mudar o encoding para aquele que quiseres , essa tag deve ser logo a primeira do seu xml file

Boa sorte

F
Ehb:
fabioEM:
fica melhor se mandar
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">
 <servlet>
     <servlet-name>Chapter1 Servlet</servlet-name>
     <servlet-class>Ch1Servlet</servlet-class>
   </servlet>
   <servlet-mapping>
   <servlet-name>Chapter1 Servlet</servlet-name>
   <url-pattern>/Serv1</url-pattern>
   </servlet-mapping>
   </web-app>
Hi, Eu acho que tu esqueces-te de por a tag mais importante , aquela que identifica o file como sendo um xml file
<?xml version="1.0" encoding="ISO-8859-1" ?>
. Podes mudar o encoding para aquele que quiseres , essa tag deve ser logo a primeira do seu xml file

Boa sorte


adicionei mas agora nao aparece nada :cry:

F

A classe servlet é esta de acordo com o livro

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

public class Ch1Servlet extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException{
   PrintWriter out=response.getWriter();
   java.util.Date today= new java.util.Date();
   System.out.println("&lt;html&gt; "+"&lt;body&gt;" + "<br>" + today +"&lt;/body&gt; " +"&lt;/html&gt;");
  }
}

criei debaixo do diretorio tomcat,entao ficou
tomcat
|
webappas
|
ch1
|
WEB-INF
|—web.xml
classes
|----Ch1Servlet.class
quando vou no browser e faço
http://localhost:8080/ch1/Serv1
me da concluido, mas nao aparece a pagina dinamica! :cry:

E

fabioEM:

adicionei mas agora nao aparece nada :cry:

Tente mudar o nome do servlet tente não usar espaços.
Qual é o erro que o seu browser mostra ?

jgbt

A mensgem:

message /dev/
description The requested resource (/dev/) is not available.

quer dizer que o contexto /dev nao esta sendo achado.
o seu contexto parece ser /ch1… isso esta estranho.

perguntas:
tem certeza que o tomcat esta rodando??? se vc digitat localhost:8080 no browser aparece a pagina de admin do tomcat??
checkou os logs, esta tudo ok??
onde esta a sua pasta da aplicação??

[]´s

juniormaverick

Troca sua linha

System.out.println("<html> "+"<body>" + "<br>" + today +"</body> " +"</html>");

por esta

out.println("<html> " +
			"<body>" +
			"<h1 align=center>HF\'s Chapter1 Servlet</h1>"
			+ "<br>" + today+ "</body>" + "</html>");
jgbt

Ehb:
[
Tente mudar o nome do servlet tente não usar espaços.

Isso nao tem nada a ver, a tag Servlet Name funciona como um alias para vc rferenciar o servlet no restante do arquivo.

[]´s

F

juniormaverick:
Troca sua linha

System.out.println("<html> "+"<body>" + "<br>" + today +"</body> " +"</html>");

por esta

out.println("<html> " + "<body>" + "<h1 align=center>HF\'s Chapter1 Servlet</h1>" + "<br>" + today+ "</body>" + "</html>");

Rapaz vc salvou um cara que tava ia distruir seu computador!!Meu amigo muitissssssssssssssssssssssssssssssssssssssssimo obrigado!!! :lol:
:lol: :lol:

jgbt

fabioEM:
juniormaverick:
Troca sua linha

System.out.println("<html> "+"<body>" + "<br>" + today +"</body> " +"</html>");

por esta

out.println("<html> " + "<body>" + "<h1 align=center>HF\'s Chapter1 Servlet</h1>" + "<br>" + today+ "</body>" + "</html>");

Rapaz vc salvou um cara que tava ia distruir seu computador!!Meu amigo muitissssssssssssssssssssssssssssssssssssssssimo obrigado!!! :lol:
:lol: :lol:

Mas isso não causaria o erro, somente faria a mesnagem ser impressa no console do tomcat e uma pagina em branco seria exibida.

[]´s

juniormaverick

fabioEM:
juniormaverick:
Troca sua linha

System.out.println("<html> "+"<body>" + "<br>" + today +"</body> " +"</html>");

por esta

out.println("<html> " + "<body>" + "<h1 align=center>HF\'s Chapter1 Servlet</h1>" + "<br>" + today+ "</body>" + "</html>");

Rapaz vc salvou um cara que tava ia distruir seu computador!!Meu amigo muitissssssssssssssssssssssssssssssssssssssssimo obrigado!!! :lol:
:lol: :lol:

Cara o q eu puder te ajudar…estou ai…flw…

M

fabioEM E/OU BrunoCarlo !!!

Eu também estou estudando por esse livro!!! E (por incrível que pareça) também estou com a mesma dificuldade!!!

Vou seguir o que vocês escreveram aqui e vou tentar a noite… qdo chegar em casa.

Mas, desde já, vcs se adicionaram no MSN pra tirar as dúvidas do livro??? Tem como me adicionar também??
[email removido]

Queria muito aprender e discutir as dúvidas!!

[]´s!!

douglas_vidotto

eu sei que esse tópico foi criado a um tempo no guj, porem estou estudando por esse mesmo livro. Eu estou tendo dificuldades na compilação por conta dos pacotes. Não se vocês que estão estudando por esse livro conseguiram compilar o exemplo da página 54 e 55 (da versão em portugues). Quando tento compilar esse servlet, ele não encontra a classe que importei: import com.example.model.*;

O servlet BeerSelect esta na pasta com.example.web;

Vocês conseguiram fazer? Não sei mais alguém usa o livro, mas se tiver alguém interessado, coloco o código e o erro que dá.

Primeiro da classe java comum:

package com.example.model;

import java.util.*;


public class BeerExpert{

   public List<String> getBrands(String color){

	List brands = new ArrayList();

	if(color.equals("amber")){
	   brands.add("Jack Amber");
	   brands.add("Red Moose");
	}//fim do if
	else{
	   brands.add("Jail Pale Ale");
	   brands.add("Gout Stout");
	}
	
	return(brands);
		     
   }//fim do método daOConselho

}//fim da classe BeerExpert

O arquivo acima compila normalmente. Agora o arquivo servlet:

package com.example.web;

import com.example.model.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class BeerSelect extends HttpServlet{

   public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws IOException,ServletException{

	response.setContentType("text/html");
	PrintWriter out = response.getWriter();

	String c = request.getParameter("color");
	BeerExpert expert = new BeerExpert();
	List result = be.getBrands(c);
	Iterator it = result.iterator();
	while(it.hasNext)){
	
	   out.print("<br>try: " + it.next());

	}//fim do while


   }//fim do método doPost

}//fim da classe BeerSelect

O erro ao tentar compilar esse servlet é:

package com.example.model does not exist

e por ele da outros erros onde uso uma classe que está nesse pacote. Quem estuda por esse livro encontrou esse problema? Coloquei os arquivos exatamente nos diretórios que o livro indica, mas mesmo assim da problema.

Muito obrigado pela ajuda!!

PS: A compilação está sendo feita via prompt de comando.

M

Sr.s,

Estou no mesmo barco.
Comprei o livro para aprender mas já no primeiro exercício, a parada parece estar complicada.

1 - SDK instalado
2 - Tomcat instalado e TOMCAT_HOME definido para c:\tomcat
3 - Classe java compilada - .class
4 - Dentro de webapps tenho a pasta do meu projeto
5 - Dentro do meu projeto tenho o web.xml em web-inf e dentro de web-inf tenho minha classe

Ao tentar executar o HTTP://LOCALHOST:8080/CH1/SERVLET, dá o erro 404.

O mais estranho é que pelo que li, qdo eu dou o shutdown no Tomcat, se eu tentar executar o HTTP://LOCALHOST:8080 ele não deveria abrir uma página de instruções do tomcat, mas no meu abre normalmente.

Help-em…please

M

mraguga:
Sr.s,

Estou no mesmo barco.
Comprei o livro para aprender mas já no primeiro exercício, a parada parece estar complicada.

1 - SDK instalado
2 - Tomcat instalado e TOMCAT_HOME definido para c:\tomcat
3 - Classe java compilada - .class
4 - Dentro de webapps tenho a pasta do meu projeto
5 - Dentro do meu projeto tenho o web.xml em web-inf e dentro de web-inf tenho minha classe

Ao tentar executar o HTTP://LOCALHOST:8080/CH1/SERVLET, dá o erro 404.

O mais estranho é que pelo que li, qdo eu dou o shutdown no Tomcat, se eu tentar executar o HTTP://LOCALHOST:8080 ele não deveria abrir uma página
de instruções do tomcat, mas no meu abre normalmente.

Help-em…please

Encontrei o problema no meu caso. Parece bobeira mas era isso:

A primeira linha do meu web.xml estava com:

<?xml version="1.0" encoding="ISO-8851-1"?>

Alterei a parte do ISO de 8851-1 para 8859-1…veja:

<?xml version="1.0" encoding="ISO-8859-1"?>
Criado 12 de março de 2008
Ultima resposta 7 de jan. de 2010
Respostas 20
Participantes 9