Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Tomcat 5.5.x Digester fatal error in web.xml

843836May 17 2005 — edited Oct 8 2008
I don't understand why I am getting this error in my Tomcat catalina log:

May 17, 2005 9:39:45 PM org.apache.tomcat.util.digester.Digester fatalError
May 17, 2005 9:39:45 PM org.apache.tomcat.util.digester.Digester fatalError
SEVERE: Parse Fatal Error at line -1 column -1: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(XMLDocumentScannerImpl.java:928)

I am developing on a Windows XP machine with jdk 5.0 and Tomcat 5.5.9. I went back and discovered that I was missing my filter-mapping element, however, that didn't change the error I was receiving. Here is my web.xml:
<?xml version="1.0" encoding="UTF-8"?>

<web-app id="Employment" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>Test</display-name>
	<filter>
		<filter-name>Security Filter</filter-name>
		<filter-class>org.securityfilter.filter.SecurityFilter</filter-class>
		<init-param>
			<description>Configuration file location (this is the default value)</description>
			<param-name>config</param-name>
			<param-value>/WEB-INF/securityfilter-config.xml</param-value>			
		</init-param>
		<init-param>
			<description>Validate config file if set to true</description>
			<param-name>validate</param-name>
			<param-value>true</param-value>			
		</init-param>
	</filter>

	<!-- map all requests to the SecurityFilter, control what it does with configuration settings -->
	<filter-mapping>
		<filter-name>Security Filter</filter-name>
		<url-pattern>/secure/*</url-pattern>
	</filter-mapping>

	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
		<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>3</param-value>
      </init-param>
      <load-on-startup>0</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
   </servlet-mapping>

   <!-- make the session time-out after fifteen minutes -->
   <session-config>
      <session-timeout>15</session-timeout>
   </session-config>

   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>

   <!-- SecurityFilter works with custom error pages -->
   <error-page>
      <error-code>403</error-code>
      <location>/error/403.jsp</location>
   </error-page>

</web-app>
Here is my corresponding security-config.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE securityfilter-config PUBLIC
    "-//SecurityFilter.org//DTD Security Filter Configuration 2.0//EN"
    "http://www.securityfilter.org/dtd/securityfilter-config_2_0.dtd">

<securityfilter-config>
	<security-constraint>
		<web-resource-collection>
			<web-resource-name>Secure Page</web-resource-name>
			<url-pattern>/secure/*</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<role-name>Admin</role-name>
		</auth-constraint>
	</security-constraint>

	<login-config>
		<auth-method>FORM</auth-method>
		<form-login-config>
			<form-login-page>/index.jsp</form-login-page>
			<form-error-page>/error/403.jsp</form-error-page>
			<form-default-page>/secure/-index.jsp</form-default-page>
		</form-login-config>
	</login-config>

	<!-- start with a Catalina realm adapter to wrap the Catalina realm defined below -->
	<realm className="org.securityfilter.realm.catalina.CatalinaRealmAdapter" />

	<!-- this is a Catalina realm that will be adapted to the securityfilter by the realm defined above -->
	<realm className="org.apache.catalina.realm.JDBCRealm">
		<realm-param name="connectionName" value="test" />
		<realm-param name="connectionPassword" value="test" />
		<realm-param name="connectionURL" value="jdbc:mysql://localhost:3306/employment" />
		<realm-param name="digest" value="none" />
		<realm-param name="driverName" value="com.mysql.jdbc.Driver" />
		<realm-param name="roleNameCol" value="role" />
		<realm-param name="userCredCol" value="password" />
		<realm-param name="userNameCol" value="username" />
		<realm-param name="userRoleTable" value="role" />
		<realm-param name="userTable" value="administration" />
	</realm>
</securityfilter-config>
If someone could shed some light on this I'd really appreciate it.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 5 2008
Added on May 17 2005
3 comments
2,214 views