Container não monta a URL e nem starta a aplicação

Java

26/01/2011

Esse post: O JSF e a construção de formulários já está muito grande. Vou encerrá-lo e voltar a discutir nesse post, ok?
Esse é meu web.xml e meu faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
 <display-name>Programinhas_Web</display-name>
 <context-param>
  <param-name>javax.faces.CONFIG_FILES</param-name>
  <param-value>/WEB-INF/faces-config.xml</param-value>
 </context-param>
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>    
  <welcome-file>index.jsf</welcome-file>   
 </welcome-file-list>
 <servlet>
  <servlet-name>Faces Config</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>Faces Config</servlet-name>
  <url-pattern>/*</url-pattern>
 </servlet-mapping>
</web-app>
 
e

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xi="http://www.w3.org/2001/XInclude"
 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">
 <managed-bean>
  <managed-bean-name>CalculaPrimo</managed-bean-name>
  <managed-bean-class>com.classes.PrimoRange</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
 </managed-bean>
 <navigation-rule>
  <display-name>Pages/index.xhtml</display-name>
  <from-view-id>/Pages/index.xhtml</from-view-id>
  
  <navigation-case>
   <from-outcome>success</from-outcome>
   <to-view-id>/CalculaPrimo.jsp</to-view-id>
  </navigation-case>
  
 </navigation-rule>
</faces-config>


Esse é o erro que está dando(não acha um recurso)

HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: Wrapper cannot find servlet class javax.faces.webapp.FacesServlet or a class it depends on org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) java.lang.Thread.run(Unknown Source) root cause java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) java.lang.Thread.run(Unknown Source) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
Alguém tem alguma idéia de como contornar isso?


Pjava

Pjava

Curtidas 0

Respostas

Davi Costa

Davi Costa

26/01/2011

Paulo é o seguinte,
começo a identificar o que está acontecendo.

Se esse for seu web.xml completo, e vc estiver usando jsf, está faltando algumas configurações e jars tb, pelo que parece.

att Davi
GOSTEI 0
Davi Costa

Davi Costa

26/01/2011

Só complementando,
se for usar JSF não é a melhor estratégia para seu caso usar servlet.


Agora se sua aplicaçãofor didática para aprender servlet, tire o JSF do seu projeto.
E para finalizar o faces-config é do jsf exclusivamente.

att Davi
GOSTEI 0
Pjava

Pjava

26/01/2011

Devo instalar os .jars em meu projeto, é isso? Quai são então? Como eu posso identificar os jars que faltam? Em que pasta eles devem estar instalados?
GOSTEI 0
Pjava

Pjava

26/01/2011

Só mais uma. Eu copiei a pasta lib do outro projeto(com vários .jars) e colei em minha pasta WEB-INF, sobreescrevendo a que estava lá. Isso não acho ser errado, ou é?
GOSTEI 0
Davi Costa

Davi Costa

26/01/2011

Acho q qdo vc postou n tinha levado em consideração o meu último post.
A configuração do jsf não é simples, vc vai ter q pesquisar bastante.
Mas mesmo assim caso vc keira usar, use meu projeto como modelo
não é só os jars não.
Vc precisa configurar certinho web.xml e faces-config.xml.
att Davi
GOSTEI 0
Pedro Andrade

Pedro Andrade

26/01/2011

Oi Paulo, tudo bem ? vamos antes de tentar te ajudar estabelecer algumas coisas para a compreenção do seu problema, o Java através de um consórcio de empresas como IBM, Nokia, Apache(acho que saíu) que é chamado de JCP estabelece alguns padrões de especificação(como uma interface) porém a implementação pode ser feita por qualquer empresa e por regra são compatíveis pois atendem a mesma especificação, apenas algumas fazem com um tcham ou outro a mais entendeu ?
Exemplo existe a especificação para o JSF e que é implementada pelo Mojarra(mais utilizado e desenvolvido pelo pessoal da Oracle se não me engano), MyFaces, etc. especificação do JPA, mas tem como implementação/provider EclipseLink, Hibernate, etc.
Então eu gostaria de saber que implementação do JSF você está usando ? você adicionou os jars da sua implementação ? qual a IDE está usando ?
Partindo daí vamos tentar descascar esse abacaxi ;-) Blza
Abraço e aguardo sua resposta.
GOSTEI 0
Pjava

Pjava

26/01/2011

Ok, vamos por partes então Respondendo ao davi e ao pedro. Vou retirar o jsf, por enquanto de meu projeto sim. Vou escrever os HTML puros(sem faces) e meus JSP e Servlets. Acho que é isso. Vou criar um novo Web Dynamic Project e refazer. Eu quero ver funcionar e depois eu parto para o JSF, pois necessito aprender esse cara, mas fica pra depois. Quanto a pergunta do Pedro, eu uso:
Helios, Tomcat 6.0.9. Quanto ao JSF é o 1.2, mas já tenho o 2.0, mas sem uso, por enquanto. Ah! Instalei também o JBoss, para testar outro servidor. Isso tudo é aprendizado pra mim. Vamos ver como se sai. Mas, quero voltar ao JSF. Depois de eu ver funcionar, quero fazer com Hibernate e JPA, gravar num banco(Oracle ou MySql) o resultado, mas isso é logo após eu fazer funcionar tudo isso.
GOSTEI 0
Pjava

Pjava

26/01/2011

Sem o JSF, estou conseguindo rodar pelo menos meu HTML, até porque ainda não terminei de escrevar os JSP e Servlets.
GOSTEI 0
Davi Costa

Davi Costa

26/01/2011

Show de bola cara.
Vc está no caminho certo, muitos desenvolvedores querem logo aprender framewrk pq é o q mais se tem usado e não tem uma base forte de java para web.
Vc tomou uma ótima decisão, não pulando as etapas.

Att Davi
GOSTEI 0
Pjava

Pjava

26/01/2011

to com uma dúvida cruel. Tenho uma classe chamada Primo e um método chamado CalcPrimo. Preciso executar esse método em um servlet e depois retornar para o cliente em um html. Tenho dúvidas de como fazer. Instanciar a clase dentro do Servlate, ok, mas depois com minha instância eu não consigo pegar o método. Oujtra coisa, me disseram em outro forum que eu não preciso usar Servlet, basta usar somente JSP, pois JSP nada mais é que Servlet. E aí, q ces acham? Esse é o caminho?
GOSTEI 0
Dyego Carmo

Dyego Carmo

26/01/2011

Caso esteja com alguma duvida , em meu devspace tem varias video aulas sobre Java Server Faces, tanto 1.x quanto 2.0


Valeu !

GOSTEI 0
Pjava

Pjava

26/01/2011

Ok, Dyego, valeu. Vou dar uma olhada e uma estudada.
GOSTEI 0
Pedro Andrade

Pedro Andrade

26/01/2011

É normal como qualquer outra classe, dentro do Servlet digite
import pacote.primos;
public class CalculaPrimoServlet extends HttpServlet { 
  protected void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        PrintWriter out = response.getWriter(); Primo p = new Primo();      
        // escreve o texto        out.println("<html>");        out.println("<body>");        out.println("Calculo de nº primo : "+p.calcPrimos(1,10));  // Retorna String com nº primos de 1 a 10        out.println("</body>");        out.println("</html>");    }}
GOSTEI 0
Pjava

Pjava

26/01/2011

Resolvi assim:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        Primo_Faixa cp = new Primo_Faixa();
        try{
            int inicio = Integer.parseInt(request.getParameter("edtIncial")); 
            int fim = Integer.parseInt(request.getParameter("edtFinal")); 
            out.println("Os números primos de " + inicio + " a " + fim + " são:<br><br>");
            out.println(cp.CalcFaixaPrimo(inicio, fim));
        }catch(NumberFormatException nfex) {
                out.println("Falha ao obter faixas de valores: <br>"+nfex.getMessage());
        }
    }
GOSTEI 0
Dyego Carmo

Dyego Carmo

26/01/2011

Resolvido ? Feche a pendencia :)
GOSTEI 0
POSTAR