You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by bu...@apache.org on 2002/12/13 03:02:32 UTC

DO NOT REPLY [Bug 15342] New: - Struts- based pages will not display...

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15342>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15342

Struts- based pages will not display...

           Summary: Struts- based pages will not display...
           Product: Struts
           Version: 1.1 Beta 2
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Unknown
        AssignedTo: struts-dev@jakarta.apache.org
        ReportedBy: rbrown@CeltCorp.com


I am running a web application under Tomcat V4.0.

The application is a simple login application. The contents of the main login 
JSP (called TestPage.jsp) is below:

<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<title>Test Page</title>
</head>
<body bgcolor="#FFFFFF">
<h1>Log In</h1>
<p>Enter a username and password.</p>
<html:form action="/Dologin" type="support.LoginForm">
    <html:text property="logname" />
    <br>
    <html:password property="password" />
    <br>
<html:submit />
<html:reset />
</html:form>
</body>
</html>

in the WEB-INF directory, I have the Struts 1.1 taglib files, a struts-
config.xml file, and a web.xml file. The web.xml file contains the following:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <servlet>
    <servlet-name>StrutsActionServlet</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>StrutsActionServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.do</welcome-file>
  </welcome-file-list>
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts.tld</taglib-location>
  </taglib>
</web-app>

The struts-config.xml file contains the following:

<struts-config>
  <!-- ========== Data Source Configuration =============================== -->
  <data-sources>
  </data-sources>

  <!-- ========== Form Bean Definitions =================================== -->
  <form-beans type="org.apache.struts.action.ActionFormBean">
    <form-bean name="LoginForm"
               type="support.LoginForm" dynamic="false">
        <form-property name="password" type="java.lang.String" initial=""/>
        <form-property name="logname" type="java.lang.String" initial=""/>
    </form-bean>

  </form-beans>

  <!-- ========== Global Forward Definitions ============================== -->
  <global-forwards type="org.apache.struts.action.ActionForward">
</global-forwards>

  <!-- ========== Global Exception Definitions ============================ -->
  <global-exceptions>
  </global-exceptions>

  <!-- ========== Action Mapping Definitions ============================== -->
  <action-mappings type="org.apache.struts.action.ActionMapping">
    
      <action path="/Dologin"
              type="support.LoginAction"
              name="LoginForm">
        <forward name="failure" path="/badlogin.jsp" redirect="false"/>
      
        <forward name="success" path="/entered.jsp" redirect="false"/>
      
      </action>

  </action-mappings>

  <!-- ========== Message Resources Definitions =========================== -->
  <message-resources parameter="UltraTest" />

  <!-- ========== Plugin Definitions ====================================== -->

  <!-- ========== Controller Definition =================================== -->

</struts-config>

In the "classes" directory, of course, I have the declared .class files and a 
file called "UltraTest.properties".

The problem is that when I run the application and attempt to display 
TestPage.jsp, I get the following message:

Apache Tomcat/4.0.1 - HTTP Status 500 - Internal Server Errortype Exception 
reportmessage Internal Server Errordescription The server encountered an 
internal error (Internal Server Error) that prevented it from fulfilling this 
request.exception javax.servlet.ServletException: Cannot find ActionMappings 
or ActionFormBeans collection
 at org.apache.jasper.runtime.PageContextImpl.handlePageException
(PageContextImpl.java:457)
 at org.apache.jsp.TestPage$jsp._jspService(TestPage$jsp.java:226)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service
(JspServlet.java:202)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
 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:243)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:201)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
 at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:164)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
 at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:170)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
 at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:170)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:163)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.connector.http.HttpProcessor.process
(HttpProcessor.java:1011)
 at org.apache.catalina.connector.http.HttpProcessor.run
(HttpProcessor.java:1106)
 at java.lang.Thread.run(Thread.java:484)
root cause javax.servlet.jsp.JspException: Cannot find ActionMappings or 
ActionFormBeans collection
 at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:858)
 at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:543)
 at org.apache.jsp.TestPage$jsp._jspService(TestPage$jsp.java:65)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service
(JspServlet.java:202)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
 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:243)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:201)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
 at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:164)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
 at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:170)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
 at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:170)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:163)
 at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.connector.http.HttpProcessor.process
(HttpProcessor.java:1011)
 at org.apache.catalina.connector.http.HttpProcessor.run
(HttpProcessor.java:1106)
 at java.lang.Thread.run(Thread.java:484)

But the ActionMappings and ActionForms are declared in the struts-config.xml 
file, and the struts-config.xml file is in the WEB-INF directory as specified 
by the Struts documentation!

Have I found a bug here? The application is clearly failing to find the struts-
config file, despite the fact that the file is in the correct place.

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>