Struts 2: só problemas

Olá, estou tentando utilizar a m**** do Struts 2 aqui no trabalho e estou tendo o seguinte problema:

GRAVE: Parse error in application web.xml file at jndi:/localhost/teste_sapc/WEB-INF/web.xml java.io.FileNotFoundException at org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContextURLConnection.java:381) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1683) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1201) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:874) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4881) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:750) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:442) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:674) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.startup.Catalina.start(Catalina.java:600) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431) 28/01/2011 09:56:46 org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined 28/01/2011 09:56:46 com.sun.faces.config.ConfigureListener contextInitialized INFO: Inicializando Mojarra 2.0.3 (FCS b03) para o contexto '/teste_sapc' 28/01/2011 09:56:48 com.sun.faces.spi.InjectionProviderFactory createInstance INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas. 28/01/2011 09:56:48 org.apache.coyote.AbstractProtocolHandler start INFO: Starting ProtocolHandler ["http-bio-8080"] 28/01/2011 09:56:48 org.apache.coyote.AbstractProtocolHandler start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 28/01/2011 09:56:48 org.apache.catalina.startup.Catalina start INFO: Server startup in 28155 ms 28/01/2011 09:56:49 org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet [jsp] in context with path [/teste_sapc] threw exception [The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]] with root cause The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location] at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60) at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44) at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48) at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:195) at org.apache.jsp.index_jsp._jspService(index_jsp.java:146) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

Alguém teria uma sugestão de como soluciná-lo? :wink:

Ele não está encontrando

GRAVE: Parse error in application web.xml file at jndi:/localhost/teste_sapc/WEB-INF/web.xml   
java.io.FileNotFoundException

Confira se ele realmente existe e se é este o local onde ele se encontra…

certo!

segue o meu web.xml:

[code]<?xml version="1.0" encoding="ISO-8859-1"?>

Sistema SAPC

Struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.jsf org.springframework.context.ContextLoaderListner contextConfigLocation classpath*:applicationContext*.xml
<session-config>
    <!-- 50 min -->
    <session-timeout>50</session-timeout>
</session-config>
RelatorioRubricaServlet br.gov.ibge.sapc.web.relatorio.servlet.RelatorioRubricaServlet RelatorioRubricaServlet /RelatorioRubricaServlet /index.jsp http://java.sun.com/jsp/jstl/core /WEB-INF/c.tld http://java.sun.com/jsp/jstl/functions /WEB-INF/fn.tld
<servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <display-name>DWR Servlet</display-name>
  <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  <init-param>
     <param-name>debug</param-name>
     <param-value>true</param-value>
  </init-param>
</servlet>
http://java.sun.com/jstl/core /WEB-INF/c.tld
<servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
ControleAcessoFilter br.gov.ibge.sapc.web.controleacesso.action.ControleAcessoFilter ControleAcessoFilter *.jsp ControleAcessoFilter *.do

[/code]

Como posso mapear corretamente o struts 2 no web.xml para que este problema acabe?

Leia esse post, espero que te ajude.

Flw! :thumbup:

Consegui resolver o problema, mas agora, não reconhece a tag abaixo:

<html:form action="/login" method="post" style="loginForm" focus="nome">

Obs: tenho os arquivos tlds em /WEB-INF

[quote=Marcio_Nogueira]Consegui resolver o problema, mas agora, não reconhece a tag abaixo:

<html:form action="/login" method="post" style="loginForm" focus="nome">

Obs: tenho os arquivos tlds em /WEB-INF[/quote]

Essa tag é do que?
Se vc está usando struts, use as tags do struts e para tando, declare no começo da página:

<%@ taglib prefix="s" uri="/struts-tags" %>

Outra coisa, pelo que vejo no seu web.xml, vc está misturando jsf com struts, tem certeza que vc quer fazer isso? Pra mim não parece uma boa escolha.

Pra ajudar, segue um tutorial de Struts 2:
http://www.roseindia.net/struts/struts2/index.shtml

[]s

A tag citada é do struts, porém, não está sendo reconhecida.

Veja direito, tem algo errado aí. Então você declarou isto (veja abaixo) no começo da página?

<%@ taglib prefix="html" uri="/struts-tags" %> 

O padrão é usar s e não html como prefixo pra tags do struts 2, não que isto seja um problema mas, acho que fica mais facil a leitura e entendimento do código por outros programadores.
Outra coisa estranha aí é que a tag form do struts, não reconhece a propriedade style e sim cssStyle.

Você não está confundindo struts 2 com struts 1 não? Cuidado pois é muito diferente.

Seguem duas referencias:
http://www.roseindia.net/struts/struts2/struts2uitags/form-tag.shtml
http://struts.apache.org/2.0.14/docs/form.html

E falando em referências, seguem referências das tags do struts 2:
http://struts.apache.org/2.0.14/docs/tag-reference.html

[]s

Ao utilizar a tag do struts, dá erro 500.