Bom eu estou estudando a utilização do Seam, JSF 1.2, JPA + Hibernate para substituir na empresa em que trabalho nosso atual padrão de desenvolvimento(baseado em struts :( + hibernate )....
a primeira vista fiquei impressionado com a geração de CRUD que o seam é capaz de fazer, realmente diminui absurdamente a mão-de-obra para a grande maioria dos problemas cotidianos... :wink:
o fato é que eu ainda não havia trabalhado com o faces então acabou surgindo uma dúvida...
Quando eu gerei as classes de entidade e as jsp's derivadas dessas classes o netbeans já mapeou tudo p/ mim, inclusive adicionou na página index.jsp da minha aplicação um link para cada tela de listagem das minhas entidades.
A questão toda é que quando tento utilizar um desses links eu recebo o erro 404 (HTTP Status 404 - /Contatos/jsp/contato/List.jsf), apesar de ter na minha aplicação a jsp(/Contatos/jsp/contato/List.jsp), e no meu arquivo web.xml tenho mapeado o front-controller do faces que acredito que esteja correto.
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
Quando faço o primeiro request para minha aplicação recebo essa excessão..
java.lang.IllegalStateException: No FacesContext is available to process this request. This is most likely due to the request being sent to the wrong path.
at com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:159)
at org.apache.jsp.jsp.mensageiro.List_jsp._jspx_meth_f_view_0(List_jsp.java:128)
at org.apache.jsp.jsp.mensageiro.List_jsp._jspService(List_jsp.java:102)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:412)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:318)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Tem algo haver com o ciclo de vida do FacesContext, não eh ?
Gostaria de alguém pudesse me dar um help nessa questão, já que tenho feito alguns testes e não tenho obtido sucesso... :(
Agradeço a atenção de vcs !