[RESOLVIDO]Uri do WebWork

Olá à todos…

Estou com um probleminha com webwork.

Seguinte, estou com uma aplicação que usa webwork 2.1.6.

Tomcat 6, e jdk 6.

Tem uma página JSP chamada include.jsp.

<%@page contentType="text/html" pageEncoding="ISO-8859-1" import="TODOS IMPORTs NEcESSARIOS"%>
<%@taglib prefix="ml" uri="webwork"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

Outras páginas fazem include deste jsp no inicio.

O 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">
    <display-name>McLuck</display-name>
    <servlet>
        <servlet-name>webwork</servlet-name>
        <servlet-class>
com.opensymphony.webwork.dispatcher.ServletDispatcher
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>AJAX</servlet-name>
        <servlet-class>br.com.mcluck.dados.AJAX</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>webwork</servlet-name>
        <url-pattern>*.mcluck</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>AJAX</servlet-name>
        <url-pattern>/AJAX</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

Problema está quando esta aplicação vai para o servidor. Quando online, as páginas que usam as tags do webwork (neste caso seria <ml:qqcoisa /> ), dão erro.

Exception:

Procurando sobre o erro, encontrei algumas coisas interessante, que indicam que esta era uma falha do webwork, entretanto, tudo que dizem para fazer afim de corrigir esta falha, não funciona.

Olhando no LOG do Tomcat, vejo outra coisa. Observem:

PANIC : Error configuring AvalonLogSystem : java.io.FileNotFoundException: /home/httpd/cgi-jvm/velocity.log (Permission denied) PANIC : Error configuring AvalonLogSystem : java.io.FileNotFoundException: /home/httpd/cgi-jvm/velocity.log (Permission denied) PANIC : Error configuring AvalonLogSystem : java.io.FileNotFoundException: /home/httpd/cgi-jvm/velocity.log (Permission denied) PANIC : Error configuring AvalonLogSystem : java.io.FileNotFoundException: /home/httpd/cgi-jvm/velocity.log (Permission denied) Jun 21, 2009 5:14:40 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception java.lang.RuntimeException: Unable to instantiate VelocityEngine! at com.opensymphony.webwork.views.velocity.VelocityManager.newVelocityEngine(VelocityManager.java:333) at com.opensymphony.webwork.views.velocity.VelocityManager.init(VelocityManager.java:146) at com.opensymphony.webwork.views.jsp.ui.template.VelocityTemplateEngine.renderTemplate(VelocityTemplateEngine.java:35) at com.opensymphony.webwork.views.jsp.ui.AbstractUITag.mergeTemplate(AbstractUITag.java:427) at com.opensymphony.webwork.views.jsp.ui.AbstractUITag.doEndTag(AbstractUITag.java:216) at org.apache.jsp.formularioCliente_jsp._jspx_meth_ml_005fhidden_005f0(formularioCliente_jsp.java:394) at org.apache.jsp.formularioCliente_jsp._jspx_meth_ml_005fform_005f0(formularioCliente_jsp.java:296) at org.apache.jsp.formularioCliente_jsp._jspService(formularioCliente_jsp.java:235) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:81) at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116) at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165) at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115) at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229) at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at java.lang.Thread.run(Thread.java:619)

Pois bem, esta aplicação não tem NADA de velocity.
Como ainda não me inteirei muito bem sobre o webwork, talvez seja a razão de me problema.

Alguém que já passou por isto saberia me dizer o que se trata e como posso corrigir isto?

PS - Eu já alterei o web.xml com as informações abaixo e não surtiu nenhum efeito sobre o erro.

&lt;taglib&gt; &lt;taglib-uri&gt;webwork&lt;/taglib-uri&gt; &lt;taglib-location&gt;/WEB-INF/lib/webwork-2.1.jar&lt;/taglib-location&gt; &lt;/taglib&gt;

Muito grato por qualquer ajuda.

Att

Se não me engano o webwork usa velocity em algumas taglibs.

Tenta dar permissão para ele escrever o erro aqui, talvez tu encontre informações interessantes.

Boa Tarde, pessoal!!!
Achei meu erro no site opensymphony mesmo, mas não consigo entender as ações que colocaram lá para correção do bug. Alguém pode me ajudar?

A página é a seguinte:
http://jira.opensymphony.com/browse/WW-682

Eu há um bom tempo nesta briguinha e não consigo resolver.

Lembrando que a aplicação funciona perfeitamente no meu notebook, que foi onde comecei, mas se mudo ela pra qualquer outra máquina, dá o erro:

org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Fatal exception caught in com.opensymphony.webwork.views.jsp.ui.TextFieldTag tag class, doEndTag: Unable to instantiate VelocityEngine!
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
	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)
	com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:81)
	com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116)
	com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
	com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
	com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: Fatal exception caught in com.opensymphony.webwork.views.jsp.ui.TextFieldTag tag class, doEndTag: Unable to instantiate VelocityEngine!
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:88)
	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:374)
	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)
	com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:81)
	com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116)
	com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
	com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
	com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.lang.RuntimeException: Unable to instantiate VelocityEngine!
	com.opensymphony.webwork.views.velocity.VelocityManager.newVelocityEngine(VelocityManager.java:333)
	com.opensymphony.webwork.views.velocity.VelocityManager.init(VelocityManager.java:146)
	com.opensymphony.webwork.views.jsp.ui.template.VelocityTemplateEngine.renderTemplate(VelocityTemplateEngine.java:35)
	com.opensymphony.webwork.views.jsp.ui.AbstractUITag.mergeTemplate(AbstractUITag.java:427)
	com.opensymphony.webwork.views.jsp.ui.AbstractUITag.doEndTag(AbstractUITag.java:216)
	org.apache.jsp.index_jsp._jspx_meth_ww_005ftextfield_005f0(index_jsp.java:164)
	org.apache.jsp.index_jsp._jspx_meth_ww_005fform_005f0(index_jsp.java:112)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:78)
	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:374)
	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)
	com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:81)
	com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116)
	com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
	com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
	com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

Achei algumas outras coisas de permissões também, mas já tentei. E agradeço a atenção dispensada Fabio.

Pelo que li no site, extrai a pasta template de dentro do webwork.jar, substitui os arquivos que ele colocou no anexo, mandei a pasta para web-inf…

Alterei o default.properties do webwork.
Linha:

webwork.ui.templateDir=template

ficou assim:

webwork.ui.templateDir=/WEB-INF/template

O erro continua.

Por favor, quem puder me ajudar nesta, serei grato. Porque já não sei mais o que fazer. Deveria ter ficado na versão anterior do webwork que nunca me deu este problema… :frowning:

Agradeço toda a atenção.

Att,

McLuck

Bom, para quem estiver enfrentando os mesmo erros com o webwork 2.1.6, aqui vai a solução.
O problema relatado, realmente é um bug.
Então, substitua os jar da versão 2.1.6 para a versão 2.1.7.

O erro vai mudar um pouco, mas agora o erro se refere ao que o Fábio mencionou. Erro de falta de permissão para gravar LOGs do velocity.

Para resolvê-lo, ou você precisa dar permissão para o velocity gravar seus logs ou considerar a alternativa de desabilitar o log do velocity.

Para desabilitar o log, crie um arquivo com o nome “velocity.properties” dentro de WEB-INF/classes
neste arquivo, coloque a seguinte linha:

runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogSystem

Problema resolvido.

Agradeço, Fabio!!!

Att,

McLuck