Quadcap Software

QWS Admin Tool

Quadcap Software

Overview

The Quadcap Web Server is a high performance Java web server, implementing the JSDK2.2 servlet specification and including support for JSP 1.0.

General Configuration Instructions

In the install directory, the file config.props contains global server settings. Log files, log levels, web application configuration, and database parameters may be set in this file.

Property Name Description
debug.level An integer from 0-5 specifying the verbosity of general debug log output. Zero disables debug output, 5 is the most verbose. The default value is zero.
debug.file If specified, the name of a file to which debug output is written. If this parameter is specified as stdout, then log output is written to System.out. The default is stdout.

HTTP Server Configuration

Property Name Description
trace.http.server An integer from 0-5 specifying the verbosity of http server logging. Generally '1', which is the default, is what you want, logging all requests. Zero turns off logging, and higher levels can be useful for debugging.
http.server.name Used to name the http server thread group, defaults to server
http.server.maxWorkers An integer, default value 64, which specifies the maximum number of HTTP worker threads that will be started. New threads are only created when necessary.
http.server.acceptor.name.port At least one acceptor must be defined; an acceptor listens on a specified port for incoming connections.
http.server.acceptor.name.queueDepth Specify the TCP queue depth for the named acceptor. The default value is 16.

Installing a Web Application

The Quadcap Web Server supports the standard JSDK 2.2 wEB Application deployment mechanisms. A ServletContext is created for each Web Application, and is mapped to a specific path within the Web Server. The Web Application can be packaged into an archive (.war) file. Web Applications are configured using properties in the default config.props file.

Property Name Description
http.server.context.app-name.root Specifies the context path for the application app-name.
http.server.context.app-name.docBase

Specifies the local filesystem directory or .war file that contains the application's content. If the archive or directory contains a file WEB-INF/web.xml, it is processed as the application's deployment descriptor. If no deployment descriptor is present, a default deployment descriptor is used, to define standard mappings for files and JSP content.

Any .jar files contained in the application's WEB-INF/lib directory are added to the application's classpath, as is the directory WEB-INF/classes, if it exists.

Default Deployment Descriptor

The default deployment descriptor used for all web applications is shown below.

<?xml version="1.0"?>

<web-app>
  <display-name>Quadcap WebServer Default Application Context</display-name>

  <servlet>
    <servlet-name>file</servlet-name>
    <servlet-class>com.quadcap.http.servlets.file.FileServlet</servlet-class>
    <init-param>
      <param-name>cacheSize</param-name>
      <param-value>256</param-value>
    </init-param>
  </servlet>

  <servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>com.quadcap.http.servlets.jsp.JspServlet</servlet-class>
    <init-param>
      <param-name>repository</param-name>
      <param-value>./repository</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>compile</param-name>
      <param-value>./jikes -classpath %repository%%path.separator%
         %context.classpath%%path.separator%%java.class.path%%path.separator%
         %java.home%/lib/rt.jar -d %repository% +D +E 
         -nowarn %source%
      </param-value>
    </init-param>
  </servlet>

  <servlet>
    <servlet-name>cgi</servlet-name>
    <servlet-class>com.quadcap.http.servlets.cgi.CgiServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>admin</servlet-name>
    <servlet-class>com.quadcap.http.server22.AdminServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>admin</servlet-name>
    <url-pattern>/admin/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>cgi</servlet-name>
    <url-pattern>*.cgi</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>file</servlet-name>
    <url-pattern>*.*</url-pattern>
  </servlet-mapping>

</web-app>