Não consegui importar minhas classes.
Já tentei de várias formas, a última foi assim:
<%@ page import="furutani.counter.*" %>
Dá esse erro:
500 Servlet Exception
Note: sun.tools.javac.Main has been deprecated.
/~furutani/Jsp_fb.jsp:9: Class furutani.Counter not found in import.
import furutani.Counter;
^
1 error, 1 warning
Já criei o WEB-INF/classes/counter
Já coloquei o Counter.class na raiz e
<%@ page import="furutani.*" %>
Fiz uns négocios louco, mas nenhum funcionou.
No tomcat, aqui em casa foi só criar uma pasta counter na pasta WEB-INF e jogar o Counter.class que funcionou. Importando assim:
se a classe Counter estiver num package, vc precisa criar a estrutura de diretorios no mycgiserver, por exemplo criar as pastas /furutani/counter
e ai dentro colocar a classe que pertence a este pacote
[quote=“ricardolecheta”]se a classe Counter estiver num package, vc precisa criar a estrutura de diretorios no mycgiserver, por exemplo criar as pastas /furutani/counter
e ai dentro colocar a classe que pertence a este pacote[/quote]
Valew pela ajuda, mas não funcionou.
Apartir da raiz eu criei os diretórios furutani e counter e coloquei o Counter.class neste último diretório.
500 Servlet Exception
Note: sun.tools.javac.Main has been deprecated.
error: File /usr/local/resin/doc/servlet/WEB-INF/classes/furutani/counter/Counter.class
does not contain type furutani.counter.Counter as expected, but type counter.Counter.
Please remove the file, or make sure it appears in the correct subdirectory
of the class path.
/~furutani/jsp_fb.jsp:2: Class furutani.counter.Counter not found.
Counter visits;
^
Crie na raiz o diretório counter e importei assim.
Já faz muito tempo que eu fiz upload das minhas classes e não lembro direito das instruções exatas, mas olhando a minha estrutura de diretórios e o meu código, aparentemente o seu nome de usuário tem que ser considerado como parte do pacote.
Portanto, você não deve criar o diretório furutani, ele é simplesmente o nome do seu usuário. E também não crie o WEB-INF, pois na verdade ele já está criado e eles fazem uns mapeamentos loucos para apontar para o lugar certo na hora.
O detalhe importante é que o package declarado na classe tem que estar correspondente a estrutura de diretórios que será considerada na hora. Por isso é melhor compilar o servlet lá dentro mesmo.
Na hora de fazer o import, fica <%@ page import="furutani.counter.*" %>
Para as pessoas que tiverem o mesmo problema, ai vai…
Vou usar como exemplo uma classe Counter (que faz a contagem de acessos e grava em arquivo texto),uma pagina teste.jsp e o meu login no MyCGIServer que é furutani.
public class Counter {
private int count;
…[/code]
Crie o diretório counter na raiz.
Agora envie para MyCGIServer o Counter.java colocando-o no diretório counter. Para compilar, acesse o site www.MyCGIServer.com faça o login e clique em java compiler.
Coloque o Path “counter/Counter.java” e clique em submit.
Se não compilar, reveja seu código.
No teste.jsp importe a classe:
<%@ page import="furutani.counter.*" %>
DICA: O arquivo texto onde é gravado a contagem é acessado da seguinte forma: