Como importar classes no mycgiserver?

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. :cry:
No tomcat, aqui em casa foi só criar uma pasta counter na pasta WEB-INF e jogar o Counter.class que funcionou. Importando assim:

<%@ page import="counter.*" %>

Mas isso não funcionou no mycgiserver. :x :cry:

Ajudem-me por favor!!
Obrigado
Roberto

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.

<%@ page import="furutani.counter.*" %>

Eu não estou usando um jar, é só o bytecode.

Consegui um erro diferente.

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.

<%@ page import="furutani.counter.*" %>

Como assim? Vou ter que criar um jar?

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.

Exemplo:
Eu tenho o servlet Ascii2Binary.class jogado diretamente no meu diretório, e para acessá-lo a action do meu JSP está apontando para http://www.mycgiserver.com/servlet/vanessac.Ascii2Binary

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.*" %>

é como a bani disse:

package usuario.pacote; public classs....

entao crie o diretorio pacote e mande o .class

para acessar: “/servlet/usuario.pacote.NomedoServlet”

Consegui!!! :smiley: :smiley: :smiley:

Obrigado pela ajuda Bani e ricardolecheta.

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.

No código Counter.java defina o package assim:

[code]
package furutani.counter;
import java.io.;
import java.util.
;

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:

String aURL = application.getRealPath("servlet/WEB-INF/classes/furutani/jsp_mysql.dat")

Assim vc garante que ele será gravado no seu diretório de usuário.
Não se esqueça de substituir o meu login pelo seu.

Codigo Fonte: (Retirado do livro Aprenda em 21 dias Java 2)
Counter.java
teste.jsp

T+
Roberto

Muito bem… conseguiu resolver o problema e postou a solução e dicas :slight_smile:

:smiley: Eu acho que assim estou contribuindo mais com a comunidade.
Quantas vez eu fiz uma busca no forum e só achava as perguntas.

Roberto

É bem fustrante isso…
…muitas vezes as pessoas só lembram de pedir ajuda… na hora de dar ajuda… ai é outro papo :slight_smile:

Bom pessoal eh o seguinte:
a url do meu site eh: www.mycgiserver.com/~rafaelmeireles

empacotei minhas classes no pacote rafaelmeireles.amazon

como faço para acessar o arquivo index2.classs :
www.mycgiserver.com/~rafaelmeireles/servlet/rafaelmeireles.amazon.Index2
ou
www.mycgiserver.com/~rafaelmeireles/servlet/rafaelmeireles/amazon/Index2

ou nenhum desses dois(se este for o caso me expliquem)