Problemas com o Exemplo do Livro Use a cabeça Servlet & JSP  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
thiagopfs
What is classpath?

Membro desde: 30/11/2009 09:36:28
Mensagens: 9
Offline

Estou lendo o livro Servlet & JSP da série Usea a Cabeça e estou tendo problemas no exemplo do capítulo 3. Segui os exemplos como o livro pede porém a mensagem abaixo é apresentada quando uso o botão do formulario(form.html) pra chamar a servlet (BeerSelect)


HTTP Status 404 - /web/SelectBeer.do

type Status report

message /web/SelectBeer.do

description The requested resource (/web/SelectBeer.do) is not available.
Apache Tomcat/6.0.20


Minha Estrutura do Tomcat é:
C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps\Beer-v1\WEB-INF\Web.xml
C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps\Beer-v1\form.html
C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps\Beer-v1\WEB-INF\classes\com\example\web\BeerSelect.class

Meu XML está abaixo.

<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlnssi="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>Ch3 Beer</servlet-name>
<servlet-class>BeerSelect</servlet-class>
</servlet>


<servlet-mapping>
<servlet-name>Ch3 Beer</servlet-name>
<url-pattern>/SelectBeer.do</url-Pattern>
</servlet-mapping>

</web-app>

Eu ainda não consegui enxergar onde está o erro.
Se alguém aí puder ajudar...agradeço.

Um abraço.
ribclauport
JavaEvangelist
[Avatar]

Membro desde: 01/05/2008 16:44:13
Mensagens: 419
Localização: Curitiba
Offline

Bom, este erro acontece quando o tomcat não encontra no xml sua servlet, acredito que no action do seu form voce deve ter esquecido a "/" ou escrito de forma errada na url... outra pegunta voce compilou a servlet?

posta o o form ai....
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
thiagopfs
What is classpath?

Membro desde: 30/11/2009 09:36:28
Mensagens: 9
Offline

O Action estava sem a "/" sim, mas mesmo a colocando não funcionou.

<html>
<body>
<h1 align="center"> Beer Selection </h1>
<form method="POST" action="/SelectBeer.do">
Select Beer characteristics<p>
Color:
<select name="color" size="1">
<option value ="light"> Light </option>
<option value ="amber"> Amber </option>
<option value ="brown"> Brown </option>
<option value ="dark"> Dark 1</option>
</select>
<br>
<br>
<center> <input type="submit"> </center>
</form>
</body>
</html>


Atualizei também o xml para a linha abaixo:

<servlet-class>com.example.web.BeerSelect</servlet-class>
edmarr
Virtual Machine Man
[Avatar]

Membro desde: 28/05/2009 09:52:36
Mensagens: 597
Offline

Por favor galerinha usem a tag CODE ....
olha soh simples basta olhar no link

http://www.guj.com.br/posts/list/50115.java

SCJP 6 => Target finalized!
SCWCD => Target located!

Depois que seu problema tiver resolvido, vá no primeiro post, editar o Título adicionando a tag [RESOLVIDO] no final do Título .

Link para Pesquisa
Foxlol
Virtual Machine Man
[Avatar]

Membro desde: 02/05/2006 10:17:47
Mensagens: 646
Localização: São José do Rio Pardo - SP
Offline

Vc tem que usar o nome completamente qualificado (fully qualified name) em servlet-class:


Sun Certified Java Programmer
Sun Certified Web Component Developer
Java EE 5 Business Component Developer Oracle Certified Professional
[MSN] [ICQ]
thiagopfs
What is classpath?

Membro desde: 30/11/2009 09:36:28
Mensagens: 9
Offline

Já estou usando fully qualified name da servlet. Atualizei o web.xml mas não funcionou. Os códigos estão de acordo com as soluções citadas.
Foxlol
Virtual Machine Man
[Avatar]

Membro desde: 02/05/2006 10:17:47
Mensagens: 646
Localização: São José do Rio Pardo - SP
Offline

Posta o seu servlet ae.

Sun Certified Java Programmer
Sun Certified Web Component Developer
Java EE 5 Business Component Developer Oracle Certified Professional
[MSN] [ICQ]
thiagopfs
What is classpath?

Membro desde: 30/11/2009 09:36:28
Mensagens: 9
Offline



Por algum motivo não está funcionado com a estrutura de pastas "com.example.web". Quando uso meu .class direto na pasta do projeto, funciona !
thiagopfs
What is classpath?

Membro desde: 30/11/2009 09:36:28
Mensagens: 9
Offline

Tá Resolvido.

Segui o livro e então criei a estrutura de pastas com\example\web na mão abaixo dos diretórios WEB-INF\classes no tomcat. Não estava encontrando a servlet.

O que eu fiz e resolveu foi apagar a estrutura com\example\web do tomcat que fiz na mão e deixar que essa mesma estrutura fosse criada com a compilação do meu .java, já que defini dentro dele a package com o mesmo endereço. Então a estrutura foi criada e funcionou.

Obrigado pelas ajudas e fica ai uma dica se alguém precisar dela.
riczanca89
Thread.start()

Membro desde: 22/12/2009 13:41:56
Mensagens: 32
Offline

Estou seguindo o memso livro e estou tendo problema para compilar o servlet.

quando eu compilo aparece os seguintes erros:

C:\Documents and Settings\Paschoal\Meus documentos\JSP\MyProjects\BeerV1>javac -
classpath "/arquivo de programas/apache software foundation/tomcat 6.0/lib/servl
et-api.jar":classes:. -d classes src/com/example/web/BeerSelect.java
src\com\example\web\BeerSelect.java:3: package javax.servlet does not exist
import javax.servlet.*;
^
src\com\example\web\BeerSelect.java:4: package javax.servlet.http does not exist

import javax.servlet.http.*;
^
src\com\example\web\BeerSelect.java:7: cannot find symbol
symbol: class HttpServlet
public class BeerSelect extends HttpServlet
^
src\com\example\web\BeerSelect.java:10: cannot find symbol
symbol : class HttpServletRequest
location: class com.example.web.BeerSelect
public void doPost(HttpServletRequest request,
^
src\com\example\web\BeerSelect.java:11: cannot find symbol
symbol : class HttpServletResponse
location: class com.example.web.BeerSelect
HttpServletResponse response)
^
src\com\example\web\BeerSelect.java:13: cannot find symbol
symbol : class ServletException
location: class com.example.web.BeerSelect
throws IOException, ServletException
^
6 errors


Alguem poderia me ajudar a resolver esse problema?

Att
thiagopfs
What is classpath?

Membro desde: 30/11/2009 09:36:28
Mensagens: 9
Offline

Posta tua CLASSPATH !!
riczanca89
Thread.start()

Membro desde: 22/12/2009 13:41:56
Mensagens: 32
Offline

.

This message was edited 1 time. Last update was at 22/12/2009 16:26:54

riczanca89
Thread.start()

Membro desde: 22/12/2009 13:41:56
Mensagens: 32
Offline

thiagopfs wrote:Posta tua CLASSPATH !!


.;JAVA_HOME ; C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar;.
riczanca89
Thread.start()

Membro desde: 22/12/2009 13:41:56
Mensagens: 32
Offline

Já vou aproveitar e vou enviar os locais onde estãos os Arquivoos .java e a estrutura dos ambientes.

Arquivo .java (servlet)
C:\Documents and Settings\Paschoal\Meus documentos\JSP\MyProjects\BeerV1\src\com\example\web


Arquivo .HTML
C:\Documents and Settings\Paschoal\Meus documentos\JSP\MyProjects\BeerV1\web; e
C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps\Beer-v1


Arquivo .XML
C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps\Beer-v1\WEB-INF; e
C:\Documents and Settings\Paschoal\Meus documentos\JSP\MyProjects\BeerV1\etc


As estruturas que montei ou foram configuradas pelo .exe do Tomcat foram:


C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\


bin\ (varios arquivos)

conf\catalina\localhost\ (varios arquivos)

lib\ (varios Arquivos) (servlet-api.jar está aki)

logs\ (varios Arquivos)

temp\ (varios Arquivos)



webapps\Beer-v1\WEB-INF\

...............................................classes\com\example\ (vazio)
....................................................................................model\ (vazio)
.....................................................................................web\ (vazio)
................................................lib\ (vazio)




work\Catalina\localhost\ (varios Arquivos)



C:\Documents and Settings\Paschoal\Meus documentos\JSP\MyProjects\BeerV1

classes\ (vazio)

etc\ web.xml

lib\ (vazio)

src\com\example\
.............................model\ (vazio)
.............................web\ BeerSelect.java

web\ form.html



Os codigo do meu web.xml é:

<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> Ch3 Beer </servlet-name>
`<servlet-class>com.example.web.BerrSelect</servlet-class>
</servlet>


<servlet-mapping>
<servlet-name>Ch3 Beer</servlet-name>
`<url-pattern>/SelectBeer.do</url-pattern>
</servlet-mapping>


</web-app>


e o codigo do meu form.html é:


<html>
<body>
<h1 align="center"> Beer Selection Page </h1>
<form method="POST" action="/SelectBeer.do">
Selecione as Caracteris da Cerveja <p>
Cor:
<select name="color" size=1>
<option>clara
<option>amber
<option>marron
<option>escura
</select>
<BR><BR>

<center>
<input type="SUBMIT">
</center>


</form>
</Body>
</html>



Bem...agora acho que postei tudo que já modifiquei ou criei até agora..

Alguem consegue me Ajudar?


Att







This message was edited 1 time. Last update was at 23/12/2009 08:31:16

riczanca89
Thread.start()

Membro desde: 22/12/2009 13:41:56
Mensagens: 32
Offline

Galera Fleliz 2010 para todos

resolvi o problema dos erros postado anteriormente,

Mas agora está dando o seguinte erro quando tento compilar o java

Microsoft Windows XP [versão 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.


C:\MyProjects\BeerV1>javac -classpatch C:\Tomcat\common\lib\servlet-api.jar:clas
ses:. -d classes src\com\example\web\BeerSelect.java
javac: invalid flag: -classpatch
Usage: javac <options> <source files>
use -help for a list of possible options


Alguem sabe o que isso significa?

Att,


 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team