Re: Help on friendbook-domify sample exception

Alexander Kabanov <[email protected]> Tue, 26 Apr 2005 16:55:04 -0700
Newsgroups gmane.comp.web.maverick.general
Message-ID <[email protected]>
Hi there,

perhaps it helps:

1. Required libs
=09- maverick.jar
=09- commons-beanutils.jar
=09- commons-collections.jar
=09- commons-logging.jar
=09- jdom.jar
=09
=09Domify (XSLT, not required for JSTL)
=09- opt-domify.jar
=09- domify.jar
=09- log4j.jar
=09- xalan.jar, xml-apis.jar or whatever you like
=09
=09JSTL (standard tag lib, not required for Domify)
=09- standard.jar
=09- jstl.jar
=09- c.tld (lays under webapp/WEB-INF or on the application server)
=09
=09Some options where to put the libraries:
=09- <tomcat>/shared/lib - libs will be available to all applications
running on the current
=09  webapp server (it's better to put the libs here if you have few
applications and want to reuse libs) (I'm not sure if it's supported
in tomcats 4.x)
=09- <tomcat>/common/lib - libs will be available to all applications
and tomcat (it's better to put here
=09  stuff like JDBC drivers and what tomcat wants)
=09- WEB-INF/lib - available to your current application only
=09
2. web.xml config

=09<?xml version=3D"1.0" ?>
=09<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
=09<web-app>
=09=09<display-name>Web Application Name</display-name>
=09=09
=09=09<servlet>
=09=09=09<servlet-name>dispatcher</servlet-name>
=09=09=09<display-name>Maverick Dispatcher</display-name>
=09=09=09<servlet-class>org.infohazard.maverick.Dispatcher</servlet-class>
=09=09=09
=09=09=09<init-param>
=09=09=09=09<param-name>reloadCommand</param-name>
=09=09=09=09<param-value>reload</param-value>
=09=09=09</init-param>
=09=09=09
=09=09=09<load-on-startup>2</load-on-startup>
=09=09</servlet>
=09=09
=09=09<servlet-mapping>
=09=09=09<servlet-name>dispatcher</servlet-name>
=09=09=09<url-pattern>*.m</url-pattern>
=09=09</servlet-mapping>
=09=09
=09=09<welcome-file-list>
=09=09=09<welcome-file>welcome.jsp</welcome-file>
=09=09</welcome-file-list>
=09=09
=09</web-app>

    welcome.jsp contains redirect to a default command e.g.
=09
=09<jsp:forward page=3D"default-command.m"/>

3. maverick.xml, example with domify/mixed (play with parameters)
=09
=09<?xml version=3D"1.0"?>
=09
=09<maverick version=3D"2.0" default-view-type=3D"domify"
default-transform-type=3D"xslt">
=09
=09=09<modules>
=09=09=09<view-factory type=3D"domify"
provider=3D"org.infohazard.maverick.opt.view.DomifyViewFactory"/>
=09=09</modules>
=09
=09=09<commands>
=09=09=09<command name=3D"commandName1">
=09=09=09=09<controller class=3D"webapp.ControllerClass"/>
=09=09=09=09<!-- will transform xml using defined page -->
=09=09=09=09<view name=3D"transformed">
=09=09=09=09=09<transform path=3D"path/to/page.xsl"/>
=09=09=09=09</view>
=09=09=09=09<!-- will display result XML (domify), no transformation -->
=09=09=09=09<view name=3D"xml" type=3D"document"/>
=09=09=09</command>
=09=09=09
=09=09=09<command name=3D"commandName2">
=09=09=09=09<controller class=3D"webapp.ControllerClass"/>
=09=09=09=09<view type=3D"document">
=09=09=09=09=09<transform type=3D"document" path=3D"path/to/page.jsp"/>
=09=09=09=09</view>
=09=09=09</command>
=09=09=09
=09=09=09<command name=3D"withoutController1">
=09=09=09=09<view type=3D"document" path=3D"path/to/document.xml">
=09=09=09=09=09<transform type=3D"xslt" path=3D"path/to/page.xsl">
=09=09=09=09</view>
=09=09=09</command>
=09=09=09
=09=09=09<command name=3D"withoutController2">
=09=09=09=09<view type=3D"document" path=3D"page1.jsp">
=09=09=09=09=09<transform type=3D"document" path=3D"page2.jsp"/>
=09=09=09=09</view>
=09=09=09</command>=09=09=09
=09=09</commands>
=09=09
=09</maverick>

4. Pages/Views/[Whatever you call it]

=09Inside a JSP page:
=09
=09=09${model.Variable}
=09
=09Inside an XSL page:
=09
=09=09<model>
=09=09=09<Variable>value</Variable>
=09=09</model>
=09=09
=09=09<xsl:value-of select=3D"model/Variable"/>

5. Controller example
=09
=09package webapp;
=09
=09// you can choose from different ctl classes
=09// go to API DOC for more info
=09import org.infohazard.maverick.ctl.ThrowawayBean2;
=09
=09public class CommandName extends ThrowawayBean2 {
=09=09protected int test;
=09=09public int getTest() { return this.test; }
=09=09
=09=09public final String perform() throws Exception {
=09=09=09this.test =3D 5;
=09=09=09return SUCCESS;
=09=09}
=09}


-Alex

On 4/26/05, Tom Wyne <[email protected]> wrote:
> I am new to Maverick, but it is the right stuff I am looking for.
> Thank you for the great effort!
>=20
> I got it set up with Tomcat 4.1.31 and JSDK 1.4.1_05, and friendbook-jsp
> sample wooks great! But I am really want to use XSLT with Domify, and
> I failed to run friendbook-domify sample with enclosed exception:
>=20
>     java.lang.NoClassDefFoundError
>         at org.infohazard.domify.DOMAdapter.adapt(DOMAdapter.java:70)
>=20
> I have no clue what I am missing here, I have tried this with both Xalan =
2.0
> and Xalan 2.6 with correct Xerces loaded to Tomcat's lib folder.
>=20
> Please help me out if anyone has any clue on this.
>=20
> Thanks a lot!
>=20
> Tom
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
> HTTP Status 500 -
>=20
> type Exception report
> message
> description The server encountered an internal error () that prevented it
> from fulfilling this request.
> exception
> javax.servlet.ServletException: Servlet execution threw an exception
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicat=
ion
> FilterChain.java:222)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte=
rCh
> ain.java:146)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve=
.ja
> va:209)
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:596)
>  at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:43=
3)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
>  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve=
.ja
> va:144)
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:596)
>  at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:43=
3)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
>  at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358=
)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:=
133
> )
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:596)
>  at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVal=
ve.
> java:118)
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:594)
>  at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:=
116
> )
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:594)
>  at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:43=
3)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
>  at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j=
ava
> :127)
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:596)
>  at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:43=
3)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
>  at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:15=
2)
>  at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799=
)
>  at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processCo=
nne
> ction(Http11Protocol.java:705)
>  at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577=
)
>  at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.=
jav
> a:683)
>  at java.lang.Thread.run(Thread.java:536)
>=20
> root cause
> java.lang.NoClassDefFoundError
>  at org.infohazard.domify.DOMAdapter.adapt(DOMAdapter.java:70)
>  at
> org.infohazard.maverick.opt.view.DomifyViewFactory$DomifyView.go(DomifyVi=
ewF
> actory.java:110)
>  at
> org.infohazard.maverick.flow.ViewWithTransforms.go(ViewWithTransforms.jav=
a:3
> 9)
>  at org.infohazard.maverick.flow.CommandBase.go(CommandBase.java:79)
>  at org.infohazard.maverick.Dispatcher.service(Dispatcher.java:345)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicat=
ion
> FilterChain.java:200)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte=
rCh
> ain.java:146)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve=
.ja
> va:209)
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:596)
>  at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:43=
3)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
>  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve=
.ja
> va:144)
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:596)
>  at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:43=
3)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
>  at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358=
)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:=
133
> )
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:596)
>  at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVal=
ve.
> java:118)
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:594)
>  at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:=
116
> )
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:594)
>  at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:43=
3)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
>  at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j=
ava
> :127)
>  at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vok
> eNext(StandardPipeline.java:596)
>  at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:43=
3)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
>  at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:15=
2)
>  at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799=
)
>  at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processCo=
nne
> ction(Http11Protocol.java:705)
>  at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577=
)
>  at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.=
jav
> a:683)
>  at java.lang.Thread.run(Thread.java:536)
>=20
> Apache Tomcat/4.1.31
>=20
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick
> [INVALID FOOTER]
>


-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start!  http://www.idcswdc.com/cgi-bin/survey?id=105hix
[INVALID FOOTER]