Import javax.servlet.jsp.*

3 respostas
marcioapf

Bem… Pra começar, eu gostaria de dizer que estou criando este tópico por já ter esgotado as esperanças de conseguir fazer algo sozinho.

Estou tentando começar a mexer com taglibs. Li um tutorial e estava tentando compilar a seguinte classe:

//HelloWorldTag.java
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

public class HelloWorldTag implements Tag
{
	private PageContext pageContext;
	private Tag parent;
	
	public HelloWorldTag()
	{
		
		super();
	}
	
	public int doStartTag() throws javax.servlet.jsp.JspTagException
	{
		return SKIP_BODY;
	}
	
	public int doEndTag() throws javax.servlet.jsp.JspTagException
	{
		try
		{
			pageContext.getOut().write("Hello World!");
		}
		catch(java.io.IOException e)
		{
			throw new JspTagException("IO Error:" + e.getMessage());
		}
		return EVAL_PAGE;
	}
	
	public void release() {}
	
	public void setPageContext(final javax.sevlet.jsp.PageContext pageContext)
	{
		this.pageContext = pageContext;
	}
	
	public void setParent(final javax.servlet.jsp.tagext.Tag parent)
	{
		this.parent = parent;
	}
	
	public javax.servlet.jsp.tagext.Tag getParent()
	{
		return parent;
	}
}

Fui ao prompt de comando (eu uso windows), até a pasta em que estava o arquivo e digitei:
javac HelloWorldTag.java

Erros.
package javax.servlet.jsp does not exist.
package javax.servlet.jsp.tagext does not exist.

Fui procurar auxílio no (surpresa) google. Não tardei a encontrar alguém com a mesma dificuldade no fórum da Sun. Alguém disse que era preciso instalar o J2EE ao invés de apenas o J2Se.
Então eu baixei e instalei.

Nada mudou =P

Disseram que eu tinha que encontrar o JAR contendo o package e adicioná-lo ao CLASSPATH.
Eu fui procurar o que era CLASSPATH.

Eu li estes 2 tutoriais daqui do GUG:


Classpath, entendendo o que é e para que serve


Instalando e configurando o JDK no Windows

Configurei o CLASSPATH. Ufa!

Achei no tomcat (uso-o) um arquivo “servlet-api.jar”. Pensei: só pode ser este.

Tentei de novo. Nada!

Bem, eu descompactei o jar para ver se o problema era com ele. Era! Ele só continha javax/servlet/. Uma pasta “javax” e outra. Abri “javax” outra pasta: servlet. Abri servlet. Bem, vários arquivos .java, mas nenhuma pasta “jsp”.
Bem, agora que eu sabia que o jar não servia, tinha que verificar o CLASSPATH. Tirei os imports de HelloWorldTag.java e adicionei outro:
import javax.servlet.*;
Desta vez funcionou. Quero dizer, não houve erro com esse import, mas claro que houveram outros erros, já que o import que eu estava usando não continha as classes que eu utilizei.

Resta saber:
Onde eu consigo um .jar com os pacotes javax.servlet.jsp.* e javax.servlet.jsp.tagext.* ???

Por favor, alguém me ajude =)

Agradeço se você chegou até o final… =D

3 Respostas

D

já tentou chamar este arquivo em uma página do tipo ‘jsp’?

e para fazer uma classe funcionar, vc vai precisar de um método main!

marcioapf

Bem, na verdade esta classe vai servir para eu configurar a ação de alguma tag. Eu ainda estou aprendendo, então eu nem sei explicar direito =P. Mas não precisa de função main naum…

Eu estou lendo este tutorial:
http://www.orionserver.com/docs/tutorials/taglibs/1.html
dá uma olhada.
Embora eu use o TomCat, dá pra extrair do tutorial os princípios.

D

vc vai usar o Tomcat se for subir alguma página ‘jsp’ caso contrário não tem sentido.

Vc não vai conseguir rodar nenhuma classe que não tenha um método ‘main’

Criado 18 de dezembro de 2006
Ultima resposta 18 de dez. de 2006
Respostas 3
Participantes 2