to tendo alguns problemas com importacao de classes vejam a estrutura:
-beerV1/classes: aqui está o .class
e dentro tem: com.beer
-beerV1/src: aqui está o .java
codigos:
package com.beer;
import java.util.*;
public class BeerExpert{
public List getBrands(String color){
List brands = new ArrayList();
if (color.equals("ämber"))
{
brands.add("Jack Amber");
brands.add("Red Moose");
}
else{
brands.add("Jail Pale Ale");
brands.add("Gout Stout");
}
return (brands);
}
}
import com.beer.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class BeerSelect extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.println("Beer Selection advice<br>");
String c = request.getParameter("color");
BeerExpert be = new BeerExpert();
List result = be.getBrands(c);
Iterator it = result.iterator();
while(it.hasNext()){
pw.print("<br> try: " + it.next());
}
}
}
Na tentativa ele nao compila por nao encontrar a class BeerExpert.
Como posso resolver? Ja tentei N formas e nada…
sempre mim fico confuso como fazer esse processo na mão…
Posta o comando que você está usando para compilar. Assim fica mais fácil te ajudar.
Bem, eu já fiz esse exemplo do HeadFirst. Eu conferi no meu código e eu fiz assim:
no eclipse ta tranquilo…
nao sao projetos diferentes nao, apenas os packages. a questao que nao consigo importar um class que está em um package do mesmo projeto.
Você vai ver que colocar os fontes em pacotes (e não colocá-los no pacote padrão) ajuda a organizar o código e pra compilar na mão. Também não esqueça de colocar o diretório atual (diretório ponto “.”) no final do se classpath.
Trata-se do capitulo 3 do livro Use a Cabeça! Servlets e JSP
[java-deyg]
[color=blue]-- Utilizando tomcat 6.0 [/color]
Compila a classe com.example.web.BeerSelect com a sua dependencia da classe com.example.model.BeerExpert.
Adicionando ‘C:\EstudoJava\beerV1\src;’ (sem as aspas simples) ao classpath o compilador encontra a dependencia com.example.model.BeerExpert.
Substitua a pasta EstudoJava no caminho a cima para se adequar ao local do seu beerV1.
[color=darkblue]-- No caso do TomCat 5 o comando fica como abaixo: [/color]
javac -classpath “C:\EstudoJava\beerV1\src;C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;classes:.” -d classes src\com\example\web\BeerSelect.java
Observer que a localização do arquivo servlet-api.jar é diferente.