You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Rodolfo García Esteban/CYII <rg...@cyii.es> on 2005/04/26 09:01:39 UTC
Struts 1.2.4 compiled by me doesn't find http://java.sun.com/dtd/web-app_2_3.dtd
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
_______________________
Re: Struts 1.2.4 compiled by me doesn't find
http://java.sun.com/dtd/web-app_2_3.dtd
Posted by Joe Germuska <Jo...@Germuska.com>.
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
Joe@Germuska.com
http://blog.germuska.com
"Narrow minds are weapons made for mass destruction" -The Ex