Hi, I have troubles with parsing the struts-config.xml. The parser apparently uses the dtd from the struts.jar I've included in the servlet container classpath (see attached stacktrace). What I don't understand is why the xml-parser complaints about every single element in my struts-config.xml. I can not see any errors in my xml. I'm using Struts 20001215 binary dist., Resin 1.1.5 and JDK 1.3 Any suggestions, please ? Med venlig hilsen/Best Regards ----------------------------------------------- Jannik Nørgaard Steen Software Developer Digital Zone International http://www.digitalzone.dk mailto:[EMAIL PROTECTED] ----------------------------------------------- "As a software developer, I can offer you this advice: if you have a performance issue, buy faster hardware!"
/caucho.com/http/host/: [2000/12/15 10:24:55] org.apache.struts.action.ActionSer vlet: init /caucho.com/http/host/: [2000/12/15 10:24:56] org.apache.struts.action.ActionSer vlet: Loading application resources from resource com.smartmediatech.internet.sh are.AppResources /caucho.com/http/host/: [2000/12/15 10:24:56] org.apache.struts.action.ActionSer vlet: Initializing configuration from resource path /WEB-INF/struts-config.xml /caucho.com/http/application/: realPath: /WEB-INF/struts-config.xml -> g:\Apache Group\Apache\webapps\trinity\WEB-INF\struts-config.xml register('-//Apache Software Foundation//DTD Struts Configuration 1.0//EN', 'fil e:/org/apache/struts/resources/struts-config_1_0.dtd' Parse Error at line 3 column 16: Element type "struts-config" must be declared. org.xml.sax.SAXParseException: Element type "struts-config" must be declared. at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:969) at org.apache.xerces.validators.common.XMLValidator.reportRecoverableXML Error(XMLValidator.java:1070) at org.apache.xerces.validators.common.XMLValidator.validateElementAndAt tributes(XMLValidator.java:2369) at org.apache.xerces.validators.common.XMLValidator.callStartElement(XML Validator.java:700) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp atch(XMLDocumentScanner.java:989) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS canner.java:380) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861) at javax.xml.parsers.SAXParser.parse(SAXParser.java:211) at javax.xml.parsers.SAXParser.parse(SAXParser.java:137) at org.apache.struts.digester.Digester.parse(Digester.java:708) at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java :1180) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:416) at javax.servlet.GenericServlet.init(GenericServlet.java:52) at com.caucho.server.http.Application.loadServlet(Application.java:1278) at com.caucho.server.http.Application.initServlets(Application.java:798) at com.caucho.server.http.Application.init(Application.java:763) at com.caucho.server.http.VirtualHost.init(VirtualHost.java:233) at com.caucho.server.http.ServletServer.initHosts(ServletServer.java:255 ) at com.caucho.server.http.ServletServer.init(ServletServer.java:156) at com.caucho.server.http.ServletServer.<init>(ServletServer.java:130) at com.caucho.server.http.RunnerServer.main(RunnerServer.java:184) Parse Error at line 5 column 14: Element type "form-beans" must be declared. org.xml.sax.SAXParseException: Element type "form-beans" must be declared. at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:969) at org.apache.xerces.validators.common.XMLValidator.reportRecoverableXML Error(XMLValidator.java:1070) at org.apache.xerces.validators.common.XMLValidator.validateElementAndAt tributes(XMLValidator.java:2369) at org.apache.xerces.validators.common.XMLValidator.callStartElement(XML Validator.java:700) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp atch(XMLDocumentScanner.java:1222) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS canner.java:380) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861) at javax.xml.parsers.SAXParser.parse(SAXParser.java:211) at javax.xml.parsers.SAXParser.parse(SAXParser.java:137) at org.apache.struts.digester.Digester.parse(Digester.java:708) at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java :1180) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:416) at javax.servlet.GenericServlet.init(GenericServlet.java:52) at com.caucho.server.http.Application.loadServlet(Application.java:1278) at com.caucho.server.http.Application.initServlets(Application.java:798) at com.caucho.server.http.Application.init(Application.java:763) at com.caucho.server.http.VirtualHost.init(VirtualHost.java:233) at com.caucho.server.http.ServletServer.initHosts(ServletServer.java:255 ) at com.caucho.server.http.ServletServer.init(ServletServer.java:156) at com.caucho.server.http.ServletServer.<init>(ServletServer.java:130) at com.caucho.server.http.RunnerServer.main(RunnerServer.java:184) Parse Error at line 9 column 62: Element type "form-bean" must be declared. org.xml.sax.SAXParseException: Element type "form-bean" must be declared. at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:969) at org.apache.xerces.validators.common.XMLValidator.reportRecoverableXML Error(XMLValidator.java:1070) at org.apache.xerces.validators.common.XMLValidator.validateElementAndAt tributes(XMLValidator.java:2369) at org.apache.xerces.validators.common.XMLValidator.callStartElement(XML Validator.java:700) at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumen tScanner.java:1852) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp atch(XMLDocumentScanner.java:1233) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS canner.java:380) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861) at javax.xml.parsers.SAXParser.parse(SAXParser.java:211) at javax.xml.parsers.SAXParser.parse(SAXParser.java:137) at org.apache.struts.digester.Digester.parse(Digester.java:708) at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java :1180) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:416) at javax.servlet.GenericServlet.init(GenericServlet.java:52) at com.caucho.server.http.Application.loadServlet(Application.java:1278) at com.caucho.server.http.Application.initServlets(Application.java:798) at com.caucho.server.http.Application.init(Application.java:763) at com.caucho.server.http.VirtualHost.init(VirtualHost.java:233) at com.caucho.server.http.ServletServer.initHosts(ServletServer.java:255 ) at com.caucho.server.http.ServletServer.init(ServletServer.java:156) at com.caucho.server.http.ServletServer.<init>(ServletServer.java:130) at com.caucho.server.http.RunnerServer.main(RunnerServer.java:184)
<?xml version="1.0" encoding="ISO-8859-1"?> <struts-config> <form-beans> <!-- Login form bean --> <form-bean name="com.smartmediatech.internet.actionForm.LoginForm" type="com.smartmediatech.internet.actionForm.LoginForm"/> <!-- Database form bean --> <form-bean name="com.smartmediatech.internet.actionForms.DatabaseForm" type="com.smartmediatech.internet.actionForms.DatabaseForm"/> <!-- Image quality form bean --> <form-bean name="com.smartmediatech.internet.actionForms.ImageQualityForm" type="com.smartmediatech.internet.actionForms.ImageQualityForm"/> <!-- Simple search form bean --> <form-bean name="com.smartmediatech.internet.actionForms.SimpleSearchForm" type="com.smartmediatech.internet.actionForms.SimpleSearchForm"/> <!-- Material info form bean --> <form-bean name="com.smartmediatech.internet.actionForms.MaterialInfoForm" type="com.smartmediatech.internet.actionForms.MaterialInfoForm"/> </form-beans> <!-- +++++++++ action mapping definitions +++++++++ --> <action-mappings> <!-- login action --> <action path="/login" type="com.smartmediatech.internet.actions.LoginAction" name="com.smartmediatech.internet.actionForms.LoginForm" scope="request"> <forward name="login_success" path="/show/simplesearch" redirect="false"/> <forward name="login_failure" path="/show/login" redirect="true"/> </action> <!-- logout action --> <action path="/logout" type="com.smartmediatech.internet.actions.LogoutAction"> <forward name="logout_success" path="/show/logout" redirect="true"/> <forward name="logout_failure" path="/show/logout" redirect="true"/> </action> <!-- category action --> <action path="/category" type="com.smartmediatech.internet.actions.CategoryAction"> <forward name="show_categories" path="/show/categories" redirect="false"/> <forward name="failure_category" path="/show/categories" redirect="false"/> </action> <!-- ascend category action --> <action path="/ascendcategory" type="com.smartmediatech.internet.actions.AscendCategoryAction"> <forward name="show_categories" path="/show/categories" redirect="false"/> </action> <!-- descend category action --> <action path="/descendcategory" type="com.smartmediatech.internet.actions.DescendCategoryAction"> <forward name="show_categories" path="/show/categories" redirect="false"/> <forward name="show_material" path="/show/materialindex" redirect="false"/> <forward name="failure_descend_category" path="/show/simplesearch" redirect="false"/> </action> <!-- jump to category action --> <action path="/jumpcategory" type="com.smartmediatech.internet.actions.JumpCategoryAction"> <forward name="show_categories" path="/show/categories" redirect="false"/> </action> <!-- reset categories action --> <action path="/resetcategories" type="com.smartmediatech.internet.actions.ResetCategoryAction"> <forward name="reset_categories" path="/show/categories" redirect="false"/> </action> <!-- category subsearch action --> <action path="/subsearchcategory" type="com.smartmediatech.internet.actions.SubsearchCategoryAction"> <forward name="show_material" path="/show/materialindex" redirect="false"/> </action> <!-- simple search action --> <action path="/simplesearch" type="com.smartmediatech.internet.actions.SimpleSearchAction" name="com.smartmediatech.internet.actionForms.SimpleSearchForm" scope="request"> <forward name="success_simple_search" path="/show/materialindex" redirect="false"/> <forward name="no_data_in_resultset" path="/show/simplesearch" redirect="false"/> <forward name="failure_simple_search" path="/show/simplesearch" redirect="false"/> </action> <!-- advanced search action --> <action path="/advancedsearch" type="com.smartmediatech.internet.actions.SearchAction" name="com.smartmediatech.internet.actionForms.SearchForm" scope="request"> <forward name="success_adv_search" path="/show/materialindex" redirect="false"/> <forward name="no_data_in_resultset" path="/show/advancedsearch" redirect="false"/> <forward name="failure_adv_search" path="/trinity/show/test" redirect="false"/> </action> <!-- change search terms action --> <action path="/changesearchterms" type="com.smartmediatech.internet.actions.ChangeSearchTermsAction"> <forward name="success_term_change" path="/show/advancedsearch" redirect="false"/> </action> <!-- change database action --> <action path="/changedb" type="com.smartmediatech.internet.actions.DatabaseAction" name="com.smartmediatech.internet.actionForms.DatabaseForm"> <forward name="success_db_change" path="/show/simplesearch" redirect="false"/> </action> <!-- get material info action --> <action path="/materialinfo" type="com.smartmediatech.internet.actions.MaterialInfoAction" name="com.smartmediatech.internet.actionForms.MaterialInfoForm"> <forward name="success_info" path="/show/materialinfo" redirect="false"/> </action> <!-- update material info action --> <action path="/updateinfo" type="com.smartmediatech.internet.share.MaterialInfoUpdateAction" name="com.smartmediatech.internet.actionForms.MaterialInfoForm"> <forward name="success_update_info" path="/trinity/show/materialinfo" redirect="false"/> </action> <!-- switch view action --> <action path="/switchview" type="com.smartmediatech.internet.actions.SwitchViewAction" name="com.smartmediatech.internet.actionForms.ViewForm"> <forward name="simplesearch_screen" path="/show/simplesearch" redirect="false"/> <forward name="materialindex_screen" path="/show/materialindex" redirect="false"/> </action> <!-- get page action --> <action path="/getpage" type="com.smartmediatech.internet.actions.GetPageAction"> <forward name="success_getpage" path="/show/materialindex" redirect="false"/> <forward name="failure_getpage" path="/show/simplesearch" redirect="false"/> </action> <!-- basket action --> <action path="/basket" type="com.smartmediatech.internet.actions.BasketAction"> <forward name="show_basket" path="/show/basket" redirect="false"/> </action> <!-- basket transfer action --> <action path="/baskettransfer" type="com.smartmediatech.internet.actions.BasketTransferAction"> <forward name="success_baskettransfer" path="/show/materialindex" redirect="false"/> </action> <!-- The standard administrative actions --> <action path="/admin/addFormBean" type="org.apache.struts.actions.AddFormBeanAction"/> <action path="/admin/addForward" type="org.apache.struts.actions.AddForwardAction"/> <action path="/admin/addMapping" type="org.apache.struts.actions.AddMappingAction"/> <action path="/admin/reload" type="org.apache.struts.actions.ReloadAction"/> <action path="/admin/removeFormBean" type="org.apache.struts.actions.RemoveFormBeanAction"/> <action path="/admin/removeForward" type="org.apache.struts.actions.RemoveForwardAction"/> <action path="/admin/removeMapping" type="org.apache.struts.actions.RemoveMappingAction"/> </action-mappings> </struts-config>
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <servlet> <servlet-name>initialization</servlet-name> <servlet-class>com.smartmediatech.internet.share.InitializationServlet</servlet-class> <init-param> <param-name>hostname</param-name> <param-value>caroline</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>com.smartmediatech.internet.share.TemplateServlet</servlet-name> <servlet-class>com.smartmediatech.internet.share.TemplateServlet</servlet-class> <init-param> <param-name>templateFileName</param-name> <param-value>/smtTemplate.jsp</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet> <servlet-name>com.smartmediatech.internet.share.ImageSupplierServlet</servlet-name> <servlet-class>com.smartmediatech.internet.share.ImageSupplierServlet</servlet-class> <init-param> <param-name>hostname</param-name> <param-value>caroline</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet> <servlet> <servlet-name>org.apache.struts.action.ActionServlet</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>application</param-name> <param-value>com.smartmediatech.internet.share.AppResources</param-value> </init-param> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>nocache</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>validate</param-name> <param-value>true</param-value> </init-param> <load-on-startup>4</load-on-startup> </servlet> <!-- Struts Tag Library Descriptor --> <taglib> <taglib-uri>bean</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>form</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-form.tld</taglib-location> </taglib> <taglib> <taglib-uri>logic</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>template</taglib-uri> <taglib-location>/WEB-INF/tlds/struts-template.tld</taglib-location> </taglib> <!-- Smart Media Technologies Tag Library Descriptor --> <taglib> <taglib-uri>smttaglib</taglib-uri> <taglib-location>/WEB-INF/tlds/smttaglib.tld</taglib-location> </taglib> </web-app>