A web resource does not display

 

If you are not able to display a resource in your browser, follow these steps...

  1. Verify that your HTTP server is healthy.

    Access the URL http://server from a browser and seeing whether the Welcome page appears. This action indicates whether the HTTP server is up and running, regardless of the state of WAS.

  2. If HTTP server is working, try accessing the resource directly through the appserver instead of through the HTTP server

  3. If you cannot access the resource directly through the appserver, verify that the URL used to access the resource is correct.

  4. If the URL is incorrect and it is created as a link from another JSP file, servlet, or HTML file, try correcting it in the browser URL field and reloading, to confirm that the problem is a malformed URL. Correct the URL in the "from" HTML file, servlet or jsp file.

  5. If the URL appears to be correct, but you cannot access the resource directly through the appserver, verify the health of the hosting appserver and Web module:

    1. View the hosting appserver and Web module in the administrative console to verify that they are up and running.

    2. Copy a simple HTML or JSP file (such as SimpleJsp.jsp in the WAS directory structure) to your Web module document root, and try to access it. If successful, the problem is with your resource. View the JVM log of the appserver to find out why your resource cannot be found or served

  6. If you can access the resource directly through the appserver, but not through an HTTP server, the problem lies with the HTTP plug-in -- the component that communicates between the HTTP server and the WAS.

  7. If the JSP file and the servlet output are served, but not static resources such as .html and image files, see the steps for enabling file serving.

  8. If some kinds of resources display correctly, but you cannot display a servlet by its class name...

    • Verify that the servlet is in a directory in the Web module class path, for example:

      /Web_module_name.war/WEB-INF/classes

    • Verify that you specify the full class name of the servlet, including its package name, in the URL.

    • Verify that "/servlet" precedes the class name in the URL. For example, if the root context of a Web module is "myapp", and the servlet is com.mycom.welcomeServlet, then the URL reads

      http://hostname/myapp/servlet/com.mycom.welcomeServlet
      
      

    • Verify that serving the servlets by class name is enabled for the hosting Web module by opening the source Web module in the Application Assembly Tool and browse the serve servlets by classname setting in the IBM Extensions property page. If necessary, enable this flag and redeploy the Web module.

    • For servlets or other resources served by mapped URLs, the URL is...

      http://hostname/web_module_context_root/mappedURL

  9. If none of these steps fixes your problem, see if the problem has been identified and documented by looking at available online support (hints and tips, technotes, and fixes). If you do not find your problem listed there, see Obtaining help from IBM.

 

Diagnosing Web server problems

If you are unable to view the welcome page of your HTTP server, determine if the server is operating properly.

ps -ef | grep httpd

There should be several processes running with a name of "httpd". If not, start your HTTP server manually....

apachectl start

If the HTTP server does not start...

If restoring the HTTP server default configuration file works, manually review the configuration file that has WAS updates to verify directory and file names for WAS files. If you cannot manually correct the configuration, you can uninstall and reinstall WAS to create a clean HTTP configuration file.

If restoring the default configuration file does not help, contact technical support for the Web server you are using. If you are using IBM HTTP Server with WAS, check available online support (hints and tips, technotes, and fixes). If you do not find your problem listed there, see Obtaining help from IBM

 

Accessing a Web resource through the appserver and bypassing the HTTP server

You can bypass the HTTP server and access a web resource through the appserver. It is not recommended to serve a production Web site in this way, but it provides a good diagnostic tool when it is not clear whether a problem resides in the HTTP server, WAS, or the HTTP plug-in.

To access a Web resource through the appserver...

  1. Determine the port of the HTTP service in the target appserver.

    1. From the administrative console...

      Servers | Manage Application Servers | servername | Web Container | HTTP Transports.

      You see the ports listed for virtual hosts served by the appserver.

    2. There can be more than one port listed. In the default appserver (server), for example, 9090 is the port reserved for administrative requests, 9443 and 9043 are used for SSL-encrypted requests. To test the sample "snoop" servlet, for example, use the default application port 9080, unless it changes.

  2. Use the HTTP transport port number of the appserver to access the resource from a browser. For example, if the port is 9080, the URL is...

    http://hostname:9080/myAppContext/myJSP.jsp

  3. If you are still unable to access the resource, verify that the HTTP transport port is in the "Host Alias" list by going to...

    Application Servers | servername | Web Container | HTTP Transports

    ...to check the Default virtual host and the HTTP transport ports used by this appserver.

    To check if the HTTP transport port exists.

    Environment | Manage Virtual Hosts | default host | Host Aliases

    Add an entry if necessary. For example, if the HTTP port for the application is server is 9080, add a host alias of *:9082.

 

See Also

Troubleshooting by component
Errors starting an application