Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-290

static content with spaces in path or name can't be deployed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0-M2
    • 1.0-M4
    • web
    • None

    Description

      1. Contruct a war file containing static content where a file name has a space in its name.
      2. add appropriate web.xml, geronimo-jetty.xml

      Deploying such a war file results in an IllegalArgumentException from this attempt to resolve an illegal uri:

      (JettyModuleBuilder, around line 660)
      public void installInEARContext(EARContext earContext, URI moduleBase) throws DeploymentException, IOException {
      JarInputStream jarIS = new JarInputStream(new FileInputStream(webAppFile.getName()));
      for (JarEntry entry; (entry = jarIS.getNextJarEntry()) != null; jarIS.closeEntry()) {
      URI target = moduleBase.resolve(entry.getName());

      URI javadoc specifies that the string argument to resolve must satisfy RFC 2396, in particular no spaces.

      This war deploys ok on [jboss/]tomcat 4.1.29 and the content is visible in IE with the space encoded as %20

      One possible solution is to use a multi-arg URI constructor on entry.getName(), which will encode the string properly. We will have to verify that any solution is compatible with jetty's handling of the content.

      Attachments

        1. JettyModuleBuilder_patch.txt
          1 kB
          John Sisson

        Activity

          People

            djencks David Jencks
            djencks David Jencks
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: