You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Caroline Jen <ji...@yahoo.com> on 2003/10/09 05:53:18 UTC
What Is Wrong With My web.xml File (Struts)
My Struts application worked well until I added
security in the web.xml file. I got the error message
shown below and I cannot spot any mistake with my
eyes:
[QUOTE]
2003-10-08 23:33:25 Exception initializing
TldLocationsCache: XML parsing error on file
/WEB-INF/web.xml: (line 137, col 19): The content of
element type "security-role" must match
"(description?,role-name)".
[/QUOTE]
and my web.xml file is:
[CODE]
<?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>
<!-- Configuring Artimus -->
<servlet>
<servlet-name>artimus</servlet-name>
<servlet-class>org.apache.artimus.http.ArtimusServlet</servlet-class>
<!-- Our application properties -->
<init-param>
<param-name>default</param-name>
<param-value>resources/artimus.properties</param-value>
</init-param>
<!-- Our connection adaptor -->
<init-param>
<param-name>adaptor</param-name>
<param-value>org.apache.commons.scaffold.sql.PoolmanAdaptor</param-value>
</init-param>
<init-param>
<param-name>adaptor.key</param-name>
<param-value>jdbc-artimus</param-value>
</init-param>
<!-- Alternate adaptors
<init-param>
<param-name>adaptor</param-name>
<param-value>org.apache.commons.scaffold.sql.ServletAdaptor</param-value>
</init-param>
<init-param>
<param-name>adaptor.key</param-name>
<param-value>org.apache.struts.action.DATA_SOURCE</param-value>
</init-param>
<init-param>
<param-name>adaptor</param-name>
<param-value>org.apache.commons.scaffold.sql.ConnectionAdaptor</param-value>
</init-param>
<init-param>
<param-name>adaptor.key</param-name>
<param-value>jdbc/artimus</param-value>
</init-param>
-->
<!-- Our startup priority -->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Standard Struts configuration -->
<servlet>
<servlet-name>action</servlet-name>
<!--
org.apache.struts.tiles.ActionComponentServlet -->
<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>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>null</param-name>
<param-value>false</param-value>
</init-param>
<!-- Startup priority -->
<load-on-startup>2</load-on-startup>
</servlet>
<!-- servlet-mappings, welcome-file-list -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- taglibs -->
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/tiles</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/request</taglib-uri>
<taglib-location>/WEB-INF/lib/request.tld</taglib-location>
</taglib>
<!-- Our secuity settings -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Administrative</web-resource-name>
<!-- The URLs to protect -->
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<!-- The authorized users -->
<role-name>administrator</role-name>
<role-name>advisor</role-name>
<role-name>editor</role-name>
<role-name>contributor</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/signin/logon.jsp</form-login-page>
<form-error-page>/signin/logon.jsp?error=true</form-error-page>
</form-login-config>
</login-config>
<!-- Our authentification strategy -->
<security-role>
<description>Registered Members</description>
<role-name>administrator</role-name>
<role-name>advisor</role-name>
<role-name>editor</role-name>
<role-name>contributor</role-name>
</security-role> // line 137 is here
</web-app>
[/CODE]
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
Re: What Is Wrong With My web.xml File (Struts)
Posted by Ted Husted <hu...@apache.org>.
It's important to have all the elements in just the right order. Take a
good look at
http://java.sun.com/j2ee/dtds/web-app_2_2.dtd
and follow the instructions there.
HTH, Ted.
Caroline Jen wrote:
> My Struts application worked well until I added
> security in the web.xml file. I got the error message
> shown below and I cannot spot any mistake with my
> eyes:
>
> [QUOTE]
> 2003-10-08 23:33:25 Exception initializing
> TldLocationsCache: XML parsing error on file
> /WEB-INF/web.xml: (line 137, col 19): The content of
> element type "security-role" must match
> "(description?,role-name)".
> [/QUOTE]
>
> and my web.xml file is:
> [CODE]
> <?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>
>
> <!-- Configuring Artimus -->
> <servlet>
> <servlet-name>artimus</servlet-name>
>
> <servlet-class>org.apache.artimus.http.ArtimusServlet</servlet-class>
> <!-- Our application properties -->
> <init-param>
> <param-name>default</param-name>
>
> <param-value>resources/artimus.properties</param-value>
> </init-param>
> <!-- Our connection adaptor -->
> <init-param>
> <param-name>adaptor</param-name>
>
> <param-value>org.apache.commons.scaffold.sql.PoolmanAdaptor</param-value>
> </init-param>
> <init-param>
> <param-name>adaptor.key</param-name>
> <param-value>jdbc-artimus</param-value>
> </init-param>
> <!-- Alternate adaptors
> <init-param>
> <param-name>adaptor</param-name>
>
> <param-value>org.apache.commons.scaffold.sql.ServletAdaptor</param-value>
> </init-param>
> <init-param>
> <param-name>adaptor.key</param-name>
>
> <param-value>org.apache.struts.action.DATA_SOURCE</param-value>
> </init-param>
> <init-param>
> <param-name>adaptor</param-name>
>
> <param-value>org.apache.commons.scaffold.sql.ConnectionAdaptor</param-value>
> </init-param>
> <init-param>
> <param-name>adaptor.key</param-name>
> <param-value>jdbc/artimus</param-value>
> </init-param>
> -->
> <!-- Our startup priority -->
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> <!-- Standard Struts configuration -->
> <servlet>
> <servlet-name>action</servlet-name>
> <!--
> org.apache.struts.tiles.ActionComponentServlet -->
>
> <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>2</param-value>
> </init-param>
> <init-param>
> <param-name>detail</param-name>
> <param-value>2</param-value>
> </init-param>
> <init-param>
> <param-name>null</param-name>
> <param-value>false</param-value>
> </init-param>
> <!-- Startup priority -->
> <load-on-startup>2</load-on-startup>
> </servlet>
>
> <!-- servlet-mappings, welcome-file-list -->
> <servlet-mapping>
> <servlet-name>action</servlet-name>
> <url-pattern>/do/*</url-pattern>
> </servlet-mapping>
> <welcome-file-list>
> <welcome-file>index.jsp</welcome-file>
> </welcome-file-list>
>
> <!-- taglibs -->
> <taglib>
> <taglib-uri>/tags/struts-bean</taglib-uri>
>
> <taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location>
> </taglib>
> <taglib>
> <taglib-uri>/tags/struts-html</taglib-uri>
>
> <taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location>
> </taglib>
> <taglib>
> <taglib-uri>/tags/struts-logic</taglib-uri>
>
> <taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location>
> </taglib>
> <taglib>
> <taglib-uri>/tags/tiles</taglib-uri>
>
> <taglib-location>/WEB-INF/lib/struts-tiles.tld</taglib-location>
> </taglib>
> <taglib>
> <taglib-uri>/tags/request</taglib-uri>
>
> <taglib-location>/WEB-INF/lib/request.tld</taglib-location>
> </taglib>
>
> <!-- Our secuity settings -->
> <security-constraint>
> <web-resource-collection>
>
> <web-resource-name>Administrative</web-resource-name>
> <!-- The URLs to protect -->
> <url-pattern>/*</url-pattern>
> </web-resource-collection>
> <auth-constraint>
> <!-- The authorized users -->
> <role-name>administrator</role-name>
> <role-name>advisor</role-name>
> <role-name>editor</role-name>
> <role-name>contributor</role-name>
> </auth-constraint>
> <user-data-constraint>
> <transport-guarantee>NONE</transport-guarantee>
> </user-data-constraint>
> </security-constraint>
>
> <login-config>
> <auth-method>FORM</auth-method>
> <form-login-config>
>
> <form-login-page>/signin/logon.jsp</form-login-page>
>
> <form-error-page>/signin/logon.jsp?error=true</form-error-page>
> </form-login-config>
> </login-config>
>
> <!-- Our authentification strategy -->
> <security-role>
> <description>Registered Members</description>
> <role-name>administrator</role-name>
> <role-name>advisor</role-name>
> <role-name>editor</role-name>
> <role-name>contributor</role-name>
> </security-role> // line 137 is here
>
> </web-app>
> [/CODE]
--
Ted Husted,
Junit in Action - <http://www.manning.com/massol/>,
Struts in Action - <http://husted.com/struts/book.html>,
JSP Site Design - <http://www.amazon.com/exec/obidos/ISBN=1861005512>.
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org