Iniciando no JSF

7 respostas
Jedi_FeniX

Esotu começando o meus estudos em jsf, peguei alguns tutoriais.
Quando coloco o exemplo do tutorial para rodar no tomcat a aplicação não iniciliza, isso acontece toda fez que eu acrescento as linhas abaixo, no arquivo web.xml

<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>

Aguém saberia o que está acontencendo?
Desde já agradeço a ajuda de todos.

7 Respostas

T

vc está com os jars corretos?

Jedi_FeniX

Estou com estes jars na pasta WEB-INF/lib:

commons-beanutils.jar
commons-collections-3.2.jar
commons-digester-1.8.jar
commons-logging-1.1.1.jar
jsf-api.jar
jsf-impl.jar
jstl.jar
standard.jar

mateusprado

cara, qual é o erro que esta dando??
posta o erro ai. assim fica mais facil de te ajudar.

mas se quiser adiantar, altera suas linhas pra isso aqui, dentro do :]

<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>/faces/*</url-pattern>
		<url-pattern>*.jsf</url-pattern>
	</servlet-mapping>

na linha 9, é o nome qual vc vai charmar suas paginas, geralmente é usado .faces, .jsf, ou sei la vc define, .jedi, .fenix.

tenta ai e da um toque

Jedi_FeniX

Coloquei o web.xml do modo que vc falou, mas continua não inicializando.
O problema é que não da erro, quando tento inicializar a aplicação pelo manager do tomcat ela não inicializa…
Eu tenho que criar esta pasta “faces” ?

mateusprado

a entendi…

vc adicionou o projeto web no seu Container, no seu caso apache?
vc esta usando quel IDE?

Jedi_FeniX

Eu estou programando na mão, quando estou começando eu sempre faço isso, para entender melhor o processo.
O meu diretório está assim:

Demo
 -src
   -jsfExample
      -HelloWorld.java
 -WEB-INF
   -classes
      -jsfExample
         -HelloWorld.class
   -lib
      -jsf_api.jar
      -commons-beanutils.jar
      -commons-collections-3.2.jar
      -commons-digester-1.8.jar 
      -commons-logging-1.1.1.jar
      -jsf-api.jar
      -jsf-impl.jar
      -jstl.jar
      -standard.jar
   -web.xml
   -faces-config.xml
   -index.jsp

Abaixo segue o meu web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://
java.sun.com/xml/ns/javaee/webapp_2_5.xsd">
        <description>
                Aplicacao para testar o JSF
        </description>
        <display-name>Teste JSF</display-name>
        <context-param>
            <param-name>com.sun.faces.verifyObjects</param-name>
            <param-value>true</param-value>
        </context-param>
        <context-param>
              <param-name>com.sun.faces.validateXml</param-name>
                <param-value>true</param-value>
        </context-param> 
        <context-param>
              <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
              <param-value>client</param-value>
        </context-param>
        <context-param>
                <param-name>javax.faces.CONFIG_FILES</param-name>
                <param-value>faces-config.xml</param-value>
        </context-param>
        <listener>
                <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
        </listener>
        <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>/faces/*</url-pattern>  
        </servlet-mapping> 
        <welcome-file-list>
                <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
</web-app>

E eu fui tb no catalina.out e está dando este erro:

Mar 19, 2008 7:58:07 PM com.sun.faces.config.ConfigureListener contextInitialized INFO: Initializing Mojarra (1.2_08-b06-FCS) for context '/Demo' Mar 19, 2008 7:58:07 PM com.sun.faces.config.ConfigureListener contextInitialized WARNING: JSF1059: WARNING! The com.sun.faces.verifyObjects feature is to aid developers not using tools. It shouldn''t be enabled if using an IDE, or if this application is being deployed for production as it will impact application start times. Mar 19, 2008 7:58:08 PM org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart Mar 19, 2008 7:58:08 PM org.apache.catalina.core.StandardContext start SEVERE: Context [/Demo] startup failed due to previous errors

Jedi_FeniX

Achei o erro, era no faces-config.xml, tag que fecha o managed-bean-class estava falatando um “s”, estava assim managed-bean-clas.
Agora apareceu um outro erro quando fui testar a minha aplicação, um erro 500, abixo tem exception que foi gerada:

org.apache.jasper.JasperException: java.lang.RuntimeException: Cannot find FacesContext
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Criado 19 de março de 2008
Ultima resposta 20 de mar. de 2008
Respostas 7
Participantes 3