1 Reply Latest reply on Feb 14, 2003 8:48 PM by 807567

    Unable to run webapp without Internet connection

    807567
      I need to run a webapp on SunOne (v6.0 SP4) without an internet connection. I've changed the DOCTYPE identifier in the web.xml file to refer to a local copy of web-app_2_3.dtd (including relative and fully-qualified paths). Even when the server comes up cleanly, I get an error like this when trying to compile the first JSP:

      [12/Feb/2003:17:19:24] failure (18826): Internal error: servlet service function had thrown ServletException (uri=/test/jsp/login/generate_Login_Page.jsp): org.apache.jasper.compiler.CompileException: /export/home/sunone/https-test-80/webapps/test/jsp/login/generate_Login_Page.jsp(0,0) Unable to open taglibrary /test/testi18n.tld : Parse Error in the tag library descriptor: File "dtd/web-app_2_3.dtd" not found., stack: org.apache.jasper.compiler.CompileException: /export/home/sunone/https-test-80/webapps/test/jsp/login/generate_Login_Page.jsp(0,0) Unable to open taglibrary /test/testi18n.tld : Parse Error in the tag library descriptor: File "dtd/web-app_2_3.dtd" not found.
      at org.apache.jasper.compiler.JspParseEventListener.handleDirective(JspParseEventListener.java:707)
      at org.apache.jasper.compiler.DelegatingListener.handleDirective(DelegatingListener.java:110)

      Note that the webapp functions as expected if the DOCTYPE identifier refers to http://java.sun.com/dtd/web-app_2_3.dtd, but obviously, this requires connection to the Internet. What am I missing?
        • 1. Re: Unable to run webapp without Internet connection
          807567
          Since Sun ONE Web Server 6.0 SP4 implements the Servlet 2.2 specifiction, you should be using the web-app_2_2.dtd DTD, not the web-app_2_3.dtd DTD. Your web.xml DOCTYPE should look like the following:

          <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

          Note that the presence of the http://java.sun.com/j2ee/dtds/web-app_2_2.dtd URL does not mean your web server must have access to the Internet. The web server will recognize the PUBLIC identifier and use its built-in copy of the DTD.