Problemas com o método application.getContextPath()

Olá pessoal,

Conheço Java a um certo tempo, mas só agora estou iniciando meus estudos sobre J2EE. Estou com uma dúvida um tanto estúpida. O método application.getContextPath() não existe aqui! E na minha faculdade, que está usando a mesma versão do java, ele existe. Alguem sabe outro método que possa substituir esse? Ou então alguem tem alguma idéia de como resolver esse meu problema?

Thiago

Você deve ter se esquecido de incluir o arquivo servlet-api.jar (ou algum arquivo com o nome parecido - o nome do arquivo depende do seu web container) que é um arquivo que não vem com o JDK; ele vem com o web container (Tomcat, JBoss, Oracle Application Server, IBM WebSphere, Sun Java System Application Server, Glassfish, Geronimo etc.)

[quote=thingol]Você deve ter se esquecido de incluir o arquivo servlet-api.jar (ou algum arquivo com o nome parecido - o nome do arquivo depende do seu web container) que é um arquivo que não vem com o JDK; ele vem com o web container (Tomcat, JBoss, Oracle Application Server, IBM WebSphere, Sun Java System Application Server, Glassfish, Geronimo etc.)
[/quote]

Opa! Eu adicionei o servlet-api.jar a biblioteca domeu projeto mas mesmo assim o erro continua. Como eu disse, sou novato no assunto, e não sei se fiz o certo. Como IDE eu estou usando o NetBeans 5.5.1 e como sevidor de aplicação estou usando o Tomcat, que já vem imbutido no NetBeans. Vou colar aqui a linha do código que gera o erro e a mensagem que o Tomcat dá:

Abaixo o código:
<% String dominio = application.getContextPath();%>

Abaixo o erro:

[code]type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 21 in the jsp file: /index.jsp
Generated servlet error:
C:\Documents and Settings\Usuário.netbeans\5.5.1\apache-tomcat-5.5.17_base\work\Catalina\localhost_\org\apache\jsp\index_jsp.java:57: cannot find symbol
symbol : method getContextPath()
location: interface javax.servlet.ServletContext
String dominio = application.getContextPath();
^
1 error

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 21 in the jsp file: /index.jsp
Generated servlet error:
C:\Documents and Settings\Usuário.netbeans\5.5.1\apache-tomcat-5.5.17_base\work\Catalina\localhost_\org\apache\jsp\index_jsp.java:57: cannot find symbol
symbol : method getContextPath()
location: interface javax.servlet.ServletContext
String dominio = application.getContextPath();
^
1 error

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java:249)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.[/code]

Alguem? Alguma idéia?
=/

Ola Amigo,

Na verdade o contextPath nao e uma funcionalidade do application em geral… ele e definido no request…
Tente assim:

request.getContextPath();

Muito obrigado Claudio, funcionou perfeitamente!