Hi,
I have a class named UserLoginForm that extend ActionForm. I also have a
UserLoginAction class that extend Action. The UserLoginForm runs to completion.
The problem is that my UserLoginAction class never called by the Struts
RequestProcessor class and the execute method never run. But however, I got an
exception "java.lang.NoClassDefFoundError: javax/ejb/CreateException" from the
log file. This code is within the execute method. But, none of the log
statement indicates the execute method got called by the RequestProcessor class.
I verified the path to the UserLoginAction is fine.
Thank you in advance for you help.
Kam Lung Leung
Here is my jsp file for the user login page:
<body bgcolr="white">
<table border="0" width="100%">
<tr>
<th align="right">
</th>
<td align="left">
<html:text property="userId" size="10" maxlength="10"/>
</td>
</tr>
<tr>
<th align="right">
</th>
<td align="left">
<html:text property="userSubId" size="4" maxlength="4"/>
</td>
</tr>
<tr>
<th align="right">
<td align="left">
<html:password property="password" size="12" maxlength="12"
redisplay="false"/>
</td>
</tr>
<tr>
<td align="right">
<html:submit/>
</td>
</tr>
</table>
</html:form>
<html:javascript formName="userLoginForm" dynamicJavascript="true"
staticJavascript="true"/>
</body>
********** struts-config.xml ****************************
<struts-config>
<form-beans>
<form-bean name="userLoginForm"
type="com.wlwa.Infra.ClientComponent.Dispatcher.Forms.UserLoginForm" />
</form-beans>
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
<forward name="login" path="/userLogin.do"/>
</global-forwards>
<action-mappings>
<action path="/userLoginSubmit"
type="com.wlwa.Infra.ClientComponent.Dispatcher.Actions.UserLoginAction"
name="userLoginForm"
scope="session"
validate="true"
input="login">
<forward name="success" path="/index.do" />
</action>
<action path="/index"
type="org.apache.struts.actions.ForwardAction"
parameter="/WEB-INF/Infra/ClientComponent/Presentation/index.jsp"/>
</action-mappings>
<controller>
<set-property property="inputForward" value="true"/>
</controller>
<message-resources parameter="resources.AlertClientComponent"/>
<message-resources
parameter="resources.AlternateAlertClientComponent"
key="alternate">
</message-resources>
<plug-in className="org.apache.struts.plugins.ModuleConfigVerifier"/>
<!-- Here we specified the tiles plug-in.
This plug-in register appropriate Request Processor -->
<!-- <controller
processorClass="org.apache.struts.tiles.TilesRequestProcessor" /> -->
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config"
value="/WEB-INF/tiles-definitions.xml,
/WEB-INF/tiles-client-admin-definitions.xml" />
<set-property property="definitions-parser-validate"
value="true" />
<set-property property="moduleAware"
value="true" />
</plug-in>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn" >
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml" />
</plug-in>
</struts-config>
******* log file *******************
DEBUG [http8136-Processor4] (RequestUtils.java:1799) - Get module name for path
/userLoginSubmit.do
DEBUG [http8136-Processor4] (RequestUtils.java:1821) - Module name found:
default
DEBUG [http8136-Processor4] (RequestProcessor.java:225) - Processing a 'POST'
for path '/userLoginSubmit'
DEBUG [http8136-Processor4] (RequestUtils.java:764) - Looking for ActionForm
bean instance in scope 'session' under attribute key 'userLoginFo
rm'
DEBUG [http8136-Processor4] (RequestUtils.java:800) - Recycling existing
ActionForm instance of class 'com.wlwa.Infra.ClientComponent.Dispatch
er.Forms.UserLoginForm'
DEBUG [http8136-Processor4] (RequestUtils.java:805) - --> [EMAIL PROTECTED]
DEBUG [http8136-Processor4] (RequestProcessor.java:372) - Storing ActionForm
bean instance in scope 'session' under attribute key 'userLoginFo
rm'
DEBUG [http8136-Processor4] (RequestProcessor.java:813) - Populating bean
properties from this request
DEBUG [http8136-Processor4] (BeanUtils.java:792) - BeanUtils.populate([EMAIL
PROTECTED], {p
assword=[Ljava.lang.String;@166bfd8, userId=[Ljava.lang.String;@bd09e8,
userSubId=[Ljava.lang.String;@d58ce2})
DEBUG [http8136-Processor4] (BeanUtils.java:873) - setProperty([EMAIL
PROTECTED], passwor
d, [12345678])
DEBUG [http8136-Processor4] (ConvertUtils.java:369) - Convert string '12345678'
to class 'java.lang.String'
DEBUG [http8136-Processor4] (ConvertUtils.java:377) - Using converter [EMAIL
PROTECTED]
DEBUG [http8136-Processor4] (BeanUtils.java:873) - setProperty([EMAIL
PROTECTED], userId,
[0079])
DEBUG [http8136-Processor4] (ConvertUtils.java:369) - Convert string '0079' to
class 'java.lang.String'
DEBUG [http8136-Processor4] (ConvertUtils.java:377) - Using converter [EMAIL
PROTECTED]
DEBUG [http8136-Processor4] (BeanUtils.java:873) - setProperty([EMAIL
PROTECTED], userSub
Id, [0])
DEBUG [http8136-Processor4] (ConvertUtils.java:369) - Convert string '0' to
class 'java.lang.String'
DEBUG [http8136-Processor4] (ConvertUtils.java:377) - Using converter [EMAIL
PROTECTED]
DEBUG [http8136-Processor4] (RequestProcessor.java:940) - Validating input
form properties
DEBUG [http8136-Processor4] (UserLoginForm.java:115) - Begin of validate
DEBUG [http8136-Processor4] (UserLoginForm.java:141) - End of validate
DEBUG [http8136-Processor4] (RequestProcessor.java:945) - No errors detected,
accepting input
DEBUG [http8136-Processor4] (RequestProcessor.java:305) - Looking for Action
instance for class com.wlwa.Infra.ClientComponent.Dispatcher.Acti
ons.UserLoginAction
DEBUG [http8136-Processor4] (RequestProcessor.java:322) - Creating new Action
instance
2005-09-20 17:24:36 StandardWrapper[/ClientComponentTier:default]: Loading
container servlet default
2005-09-20 17:24:36 StandardWrapper[/ClientComponentTier:invoker]: Loading
container servlet invoker
2005-09-20 17:25:13 StandardWrapperValve[AlertClientActionServet]:
Servlet.service() for servlet AlertClientActionServet threw exception
javax.servlet.ServletException: Servlet execution threw an exception
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
----- Root Cause -----
java.lang.NoClassDefFoundError: javax/ejb/CreateException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:1610)
at java.lang.Class.getConstructor0(Class.java:1922)
at java.lang.Class.newInstance0(Class.java:278)
at java.lang.Class.newInstance(Class.java:261)
at
org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
at
org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:326)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:268)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]