Help faces-config.xml

Pessoal o q eu preciso adicionar no faces-config.xml para que uma pagina q esteja dentro de um diretorio funcione?? por exemplo no netbens eu dentro da web Pages criei um diretorio PRINCIPAL e dentro desse dir eu criei o arquivo index.jsp

mas nao consigo fazer esse index.jsp rodar(sempre q coloco um f:view por exemplo). qdo chamo ele da facesContext bla bla bla

obrigado

/PRINCIPAL /index.jsf

isso vai depender de como mapeastes no web.xml

Vc que esta seja sua pagina inicial ou éalguma regra de
navegação?
Tem muito tempo que eu não mexo mas acho que é só
colocar /diretorio/suapagina.

nao entao… o q acontece. no netbeans td o q eu criar no WEB PAGES ele roda normalmente sem problemas, nada de mais nada de menos… agora se dentro da WEB PAGES eu criar um dir CADASTRO e dentro desse dir criar uma pagina INDEX.JSP for no meu navegador e colocar:

http://localhost:8080/campanha/principal/index.jsp

ele me da o seguinte erro:

[quote]
HTTP Status 500 -

type Exception report

message

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /principal/index.jsp at line 23

20:
21:

Hello World!


22:
23: <f:view>
24: </f:view>
25:

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.lang.RuntimeException: Cannot find FacesContext
javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1797)
javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1614)
org.apache.jsp.principal.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:101)
org.apache.jsp.principal.index_jsp._jspService(index_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

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

meu faces config esta assim:

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    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/web-facesconfig_1_2.xsd">
</faces-config>

na verdade nao tem nada… pq ainda so queria mostrar o FORM sem fazer as regras de navegacao… so queria ir no navegador e colocar

http://localhost:8080/campanha/principal/index.jsp

e ele aparecer

a minha index.jsp esta assim:

[code]<%–
Document : index
Created on : 08/01/2008, 15:10:17
Author : Fabio Ebner
–%>

<%@page contentType=“text/html” pageEncoding=“UTF-8”%>

<%@ taglib prefix=“f” uri=“http://java.sun.com/jsf/core” %>
<%@ taglib prefix=“h” uri=“http://java.sun.com/jsf/html” %>

JSP Page

Hello World!

[/code]

sendo q a welcomeJSP.jsp que o netbeans cria funciona normalmente.

obrigado

cara se você tem em elemento ou melhor um componente jsf, obrigatoriamente você deve chamar essa url, passando pelo
facede configurado no web.xml…

sua chamada deveria ser assim…

http://localhost:8080/campanha/principal/index.jsf

ele da o seguinte erro:

[quote]HTTP Status 404 - /campanha/principal/index.jsf

type Status report

message /campanha/principal/index.jsf

description The requested resource (/campanha/principal/index.jsf) is not available.
Apache Tomcat/6.0.14[/quote]

você deve acessar a url exatamente como esta as subpastas,

lembre-se, sensitive-case, teu diretorio PRINCIPAL esta tudo em maisculo ??

http://localhost:8080/campanha/PRINCIPAL/index.jsf

esse tipo de erro é prq não encontrou a pagina…

e td minusculo… e tipo o arquivo q eu criei e .jsp e nao .jsf se eu trocar o jsf por jsp ele acha normalemente mas da aquele erro

cara posta seu web.xml ai…

vamos la
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/web-app_2_5.xsd"> <context-param> <param-name>com.sun.faces.verifyObjects</param-name> <param-value>false</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> <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> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>faces/welcomeJSF.jsp</welcome-file> </welcome-file-list> </web-app>

faces-config.xml

[code]<?xml version='1.0' encoding='UTF-8'?>



[/code]

index.jsp

[code]<%–
Document : index
Created on : 08/01/2008, 15:10:17
Author : Fabio Ebner
–%>

<%@page contentType=“text/html” pageEncoding=“UTF-8”%>

<%@ taglib prefix=“f” uri=“http://java.sun.com/jsf/core” %>
<%@ taglib prefix=“h” uri=“http://java.sun.com/jsf/html” %>

JSP Page

Hello World!

[/code]

eu so queria faze essa pagina index.jsp aparecer na tela sem erro :slight_smile: se eu tirar o <f:view> e rodar chamando http://localhost:8080/campanha/principal/index.jsp ele mostra normalmente

segue abaixo a estrutura de diretorios

abracos


cara tenta isso, altere essa linha

  <servlet-mapping>  
   <servlet-name>Faces Servlet</servlet-name>  
   <url-pattern>/faces/*</url-pattern>  
  </servlet-mapping>  

por isso…

  <servlet-mapping>  
   <servlet-name>Faces Servlet</servlet-name>  
   <url-pattern>*.jsf</url-pattern>  
  </servlet-mapping> 

e lembre-se chama ele assim

http://localhost:8080/campanha/principal/index.jsf

cara funcionou mas agora eu nao consigo colocar uma pagina de abertura inicial no web.xml
se eu coloc:

<welcome-file-list> <welcome-file>principal/index.jsp</welcome-file> </welcome-file-list>

ele da o seguinte erro [quote]HTTP Status 500 -

type Exception report

message

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /principal/index.jsp at line 23

20:
21:

Hello Worldasd ad asdasd!


22:
23: <f:view>
24: </f:view>
25:

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.lang.RuntimeException: Cannot find FacesContext
javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1797)
javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1614)
org.apache.jsp.principal.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:101)
org.apache.jsp.principal.index_jsp._jspService(index_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

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

e se eu colocar

<welcome-file-list> <welcome-file>principal/index.jsf</welcome-file> </welcome-file-list>

ele da o seguinte erro:

[quote]HTTP Status 404 - /campanha/

type Status report

message /campanha/

description The requested resource (/campanha/) is not available.
Apache Tomcat/6.0.14[/quote]

sabe o pq???

foi como eu te disse, quado você trabalha com jsf, e tem um pagina onde você usa componetes jsf,
você deve passar pelo facede cadastrado no web.xml

você você chama suapagina.jsp, da pau prq vc tem um componente jsf, <f:view>

e quando você o coloca no web.xml como pagina inicial acho que naum vai conseguir chamar utilizando essa sintaxe,
tem de chamar na unha…qq duvida posta ai…

Basta criar o arquivo principal/index.jsf. O arquivo não precisa ter nenhum conteúdo.