Your build is probably not correctly including a copy of the DTD in the JAR. Struts uses commons-digester to read the web.xml to learn the servlet-mapping so that it can properly expand action paths to resolvable URLs. Digester allows you to register local copies of DTDs so as to support validating parses of XML files without needing to retrieve the DTD.

If you look at http://svn.apache.org/repos/asf/struts/core/tags/STRUTS_1_2_4/src/share/org/apache/struts/action/ActionServlet.java

you'll see a String[] called registrations which holds this information. You should be including those DTDs in those locations in your Struts jar, and you should make sure to use exactly those DTD public identifiers to make sure that digester can find the right DTD.

Even better would be to set up Ant to build Struts for you the same way that Struts 1.2 distributions have been built in the past -- that would take care of it for you, for only the effort of setting up a properties file. The Ant build takes care of other esoterica for you also, like generating the taglib TLD files and making sure they get in the JAR.

Joe

At 9:01 AM +0200 4/26/05, Rodolfo García Esteban/CYII wrote:
Hi,

I have compiled struts 1.2.4, because I had obtained an error, I put
traces in the code of struts, re-compiled and when the application loads
in Tomcat I obtain the next error.

2005-04-26 08:47:21,557 ERROR org.apache.struts.action.ActionServlet - The
/WEB-INF/web.xml was not found.
java.io.IOException: Server returned HTTP response code: 403 for URL:
http://java.sun.com/dtd/web-app_2_3.dtd
        at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:791)
        at java.net.URL.openStream(URL.java:913)
        at
org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
        at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown
Source)
        at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown
Source)
....

And web.xml is in WEB-INF, I haven't changed the file. When I try to
access to   http://java.sun.com/dtd/web-app_2_3.dtd via explorer, explorer
finds the file. ¿Which it can be? ¿Why with struts.jar works and with my
compilations works different?

Thanks
________________________
Rodolfo
_______________________


--
Joe Germuska
[EMAIL PROTECTED]
http://blog.germuska.com
"Narrow minds are weapons made for mass destruction"  -The Ex

Reply via email to