Problemas ao tentar executar JSF

Bom dia a todos. Gostaria que alguem me ajudasse no seguinte. Eu criei um projeto novo. e fui verificar se estava funcionando as taglibs e jstl. Porém ocorreu erro: 404, ou seja, página não encontrada. Mas não entendi o porquê …

se liguem nos códigos:


package bean;

public class Bean {
	
	private String input;
	private String output;
	public String getInput() {
		return input;
	}
	public void setInput(String input) {
		this.input = input;
	}
	public String getOutput() {
		return output;
	}
	public void setOutput(String output) {
		this.output = output;
	}
	
	public void action(){
		 output = "Welcome at the JSF world, " + input;

	}

}


<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<f:view>
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<title>Teste JSP</title>
	</head>
	<body>

	<h:form>
		<h:outputLabel for="input" value="Enter your name:" />
		<h:inputText id="input" value="#{bean.input}" required="true" />
		<h:commandButton value="submit" action="#{bean.action}" />
		<h:outputText value="#{bean.output}" />
		<h:messages />
	</h:form>
	</body>
	</html>
</f:view>

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

<!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config>
	<managed-bean>
		<managed-bean-name>bean</managed-bean-name>
		<managed-bean-class>bean.Bean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>

</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>
	Playground</display-name>
	<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.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

Alguém saberia me ajudar ? Agradeço antecipadamente.

Qual o nome da sua jsp e como esta tentando acessa-la?

precisa utilizar http://localhost:<Porta do servidor>/<Sua Aplicacao>/faces/<sua pagina>.jsp

eu apenas mando rodar no eclipse… e talz…

não seto nada… pra acessa-la

Qual o nome da pagina q vc estah tentando executar, ou seja, ah q vc quer q aparece ao rodar o seu projeto?

Por padrão de configuração o JSF, JSP, entre outros tenta localizar o arquivo chamado index.jsp que deve ficar na raiz da pasta WebContent, através desse arquivo vc pode redirecionar para uma pagina qualquer.
exemplo no arquivo index.jsp.

<%
	response.sendRedirect( request.getContextPath() + "/caminhoDaSuaPaginaJSP/suaPaginaJSPQueDesejaExibir.jsp" );
%>

sim… mas ae …

eu vou ter q toda vez configurar o index.jsp ?

algo está errado ae… !

¬¬

Seu método action deve retornar um “String”, pode até ser um return “” mesmo.

Abraços,

[quote=fabio.massa]Seu método action deve retornar um “String”, pode até ser um return “” mesmo.

Abraços,[/quote]

e a única mudança do código, foi a dica dele.


	public String action(){
		 output = "Welcome at the JSF world, " + input;
 
		 return output;
	}

HTTP Status 404 - /Playground/teste.jsf


type Status report

message /Playground/teste.jsf

description The requested resource (/Playground/teste.jsf) is not available.


Apache Tomcat/5.5.26

modifiquei algumas coisas…

porém continua dando erro

meu web.xml passou a ficar assim:


<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>
	Playground</display-name>
	<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>
	
</web-app>

e aqui o faces-config.xml


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

<!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config>
	<managed-bean>
		<managed-bean-name>bean</managed-bean-name>
		<managed-bean-class>bean.Bean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>

</faces-config>



=~~~~~ 

[quote]…HTTP Status 404 - /Playground/teste.jsf


type Status report

message /Playground/teste.jsf

description The requested resource (/Playground/teste.jsf) is not available. [/quote]
Você está tentando acessar uma url que não existe, não foi encontrada a página teste.jsf.
Você start o server e o eclipse já ti joga essa url ou você digita ela?

[quote=EuclidesFilizola]sim… mas ae …

eu vou ter q toda vez configurar o index.jsp ?

algo está errado ae… !

¬¬[/quote]

Cara, vc deve determinar uma pagina de inicio, através dessa pagina de inicio vc consegue acessar outras paginas através das tags navigations-rules q vc configura no seuy arquivo faces, se vc nao quiser q o seu programa inicie na pagina index.jsp(do qual ele chama por default) vc deve redirecionar para pagina q vc quer(apenas para iniciar) e através dele vc controla para onde quer ir. o index.jsp vc configura apenas uma vez e resto da configuração e feita no(s) seu(s) arquivo(s) faces.xml.

[quote=fabio.massa][quote]…HTTP Status 404 - /Playground/teste.jsf


type Status report

message /Playground/teste.jsf

description The requested resource (/Playground/teste.jsf) is not available. [/quote]
Você está tentando acessar uma url que não existe, não foi encontrada a página teste.jsf.
Você start o server e o eclipse já ti joga essa url ou você digita ela?[/quote]

Ele já joga ela… direto !