JavaServer

Release Notes


Documentation / Administrator Docs / Developer Docs / Index

This document has the following sections:

Bugs Fixed in This Release

Bug 4058110 Fix for admin applet problems under win95. The admin applet now uses GET instead of POST.
Bug 4058345 Authentication is bypassed when URL has double slash and a trailing slash.
Bug 4058867 ServerSideInclude is now fully threadsafe.
Bug 4058868 HEAD will now log 0 bytes to access log for static files as previously it gate the incorrect size of the file.
Bug 4058985 Modify srcdemos to use javax.servlet.
Bug 4059892 Custom classloaders don't function correctly.
Bug 4059897 POST operations combined with keepalive will no longer throw spurious Invalid Request exceptions.
Bug 4063766 Files are deleted when setting proxy disk cache location to the root directory.
Bug 4064232 Cannot load certificates issues by Verisign certificates.
Bug 4065650 The httpd.nojre.sh scripts sets the classpath to classes.zip rather than classes.jar.

Supported Environments

To use JavaServer, you need a server environment (to run the server itself) as well as a client environment (from which to run administrative tools).

Server Environment

To run the server, you need a Java runtime environment that conforms with the JDK 1.1 (or above) FCS interfaces in order to run JavaServer. For many platforms, you can download a version from java.sun.com.

Note that on UNIX, you will probably want some special support to automatically run JavaServer as the default web server, and to run it as some user other than "root". At this time, we provide this support only for Solaris SPARC platforms. However, we do provide Posix-compatible sources for the native code needed to provide this functionality on other UNIXes. For more information, see The Installation Guide.

Note: JavaServer is only currently supported on platforms that have JDK 1.1 (and above) support. For up to date information on whether your target platform supports JDK 1.1, please contact the platform's vendor. The JavaServer team does not have this information.

Client Environment

The Administration Tool may not work on all web browsers. It depends on the browser being JDK 1.0.2 compatible (which most browsers are).

Current versions of Netscape Navigator (3.0), Microsoft Internet Explorer (3.0), and 1.0.2 AppletViewer are known to work. You may not be able to to administer JavaServer if you use older web browsers.

Important JavaServer Topics

Insecure Servlets

Servlets installed into the /servlets directory are considered local servlets and are not "sandboxed." That is, these servlets are not under the protection of the Security Manager. For maximum security, do not install untrusted servlets into the /servlets directory.

File Descriptors

Due to the streamlined single-process nature of the JavaServer, a large number of file descriptors can be in use at any one time. On some systems under high load, the default value your system supplies may not be enough. If your system begins to run out of file descriptors, you may see failed class loads messages, refused sockets, and other errors related to not being able to open files. To increase the number of file descriptors available to your process, please consult the system management guide for your platform.

User Login Names with Spaces Not Allowed

Usernames that contain spaces are not allowed in the JavaServer. If you try to login to the JavaServer Administration Tool with a username that contains spaces, you will not be able to get in.

To avoid this confusion, do not create usernames with spaces. Or if you have already done so, type underscore characters in the places where the spaces would be.

Using Restart Under Windows NT Stops System Service

If you are running the JavaServer in Windows NT as a system service, clicking the Restart button on the Administration Tool Manage Servers and Services page does not restart the server, it stops it.

If you stop the system service this way, you must restart it from the NT Services screen.

  1. Double-click on the Services icon in the Settings/Control Panel.
  2. On the Services dialog, select the JavaServer service.
  3. Click Start.

Microsoft Internet Explorer and HTTPS

Some versions of Microsoft Internet Explorer, including 3.0 and 3.01, have been observed to crash when using the Secure HTTP protocol (HTTPS) to talk to the JavaServer. This is a bug which Microsoft appears to have fixed in more recent versions of Internet Explorer, such as IE4.0b1. If you have problems using HTTPS, either get the bug-fixed version of Internet Explorer from Microsoft, or use another browser, such as Netscape Navigator 3.0 (or later).

HTTPS Service on Windows95

If you install the JavaServer into a Windows95 directory that has spaces in the name, the HTTPS (Secure Web Service) will not work. For proper operation with Windows95, do not install the JavaServer into a directory with spaces.

Configuring HTTPS to Require SSL Client Authentication

Support for the Secure HTTP protocol (HTTPS) in the 1.0 JavaServer release can be configured to require Secure Socket Layer (SSL) client authentication. This can not be configured through the Administration Tool GUI interface. To set up this configuration you must edit the file

properties/server/javawebserver/secureservice/endpoint.properties

so that the ssl.need-clnt-auth flag is set to true rather than false.

In this release, only SSL client certificates created by VeriSign(TM), Inc. will be accepted. (This bug will be fixed later.)

Note: For users running the HTTPS ("secure web") service, and who have gotten a certificate from VeriSign, Inc. or some other Certificate Authority, to upgrade from JavaServer Beta to 1.0 FCS (this release), you need to make a copy of the HTTPD_HOME/admin/keys file. Then when you reinstall the FCS copy, save that file in a different location: HTTPD_HOME/keys.

JavaServer and The JDBC-ODBC Bridge

We recommend that people do not attempt to use the JDBC-ODBC bridge with the JavaServer 1.0 product. We instead recommend that users only use Pure Java JDBC drivers. Drivers that use native code are subject to platform vagarities that can crash the JavaServer entirely.

There are many reasons for this. The two most compelling are:

Running Perl CGI Scripts under Win32

In order for JavaServer to execute Perl scripts on Win32 platforms, the server must be configured to contain the location of your Perl executable. To do this, edit the CgiServlet and add the parameter, perlexe and the absolute path of your Perl executable. For example,

perlexe=c:/Perl/bin/Perl.exe

Changing the Location of the CGI-Bin Directory

In order to change the location of your cgi-bin directory, you need to set the bindir initArg variable that feeds into CgiServlet. For example, if your current cgi-bin directory is in server_root/cgi-bin and you want to move it to server_root/gdb-bin you would enter:

bindir=gdb-bin

To assure proper operation, do not nest CGI scripts in sub-directories below the directory you have set up as a substitute for cgi-bin. That is, do not try and set up your system so that your cgi scripts are in the directory

server_root/gdb-bin/extra_directory

Support for Cookies

Support for cookies in the JavaServer has been moved since the Beta release. Support for cookies is now in the sun.servlet.http package. For more information, see sun.servlet.http.Cookie.

Changes to The Servlet API

The following are the latest changes and additions to the Java Servlet API for the 1.0 release of the JavaServer.

Note: The JavaServer package names have been changed. The new package names are: javax.servlet and javax.servlet.http.

Compatible Changes

The following changes and additions are compatible with earlier releases of the Java Servlet API.

Incompatible Changes

The following changes and additions are incompatible with earlier releases of the Java Servlet API.

Documentation Clarifications

The following are clarifications to the Servlet API documentation.

If You Are Locked Out of The JavaServer

Although it is recommended that you take every opportunity to protect your JavaServer by using the security tools provided with the product, it is not recommended that you assign access controls to any of the core internal servlets. Assigning access controls to any of these servlets can prevent you from having normal access to your JavaServer. These include the admin, error, file, invoker, linkcheck, loganalyzer, snoop, cgi, and ssinclude servlets.

If, by chance, you do find yourself locked out of the JavaServer because of the assignment of access controls to any of the core internal servlets, you can recover from this situation quite easily by editing the acl.properties file for the service in which you have assigned the access controls.

To Edit The acl.properties File:

  1. Change directory to

    server_root/properties/server/javawebserver/service_name

  2. Open the file acl.properties in your favorite editor.
  3. Look for the line that contains the name of the servlet, realm, and Access Control List in which the access controls were assigned, and either comment out the line or delete it from the file. For example, if you have set access controls on the admin servlet in the realm defaultRealm using the Access Control defaultAcl, the line would look like this:

    Servlet.admin=Basic:defaultRealm:defaultAcl

  4. Stop the JavaServer processes. For more information, see Stopping the JavaServer.
  5. Kill your browser and restart it.
  6. Restart your JavaServer. For more information see Starting the JavaServer.

You should now be able to login normally to the JavaServer.

Additional Documentation

The following are a couple of other useful documents to see:
Top
java-server-feedback@java.sun.com