Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.meterware.servletunit
Class JUnitServlet  view JUnitServlet download JUnitServlet.java

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended bycom.meterware.servletunit.JUnitServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class JUnitServlet
extends javax.servlet.http.HttpServlet

A servlet which can run unit tests inside a servlet context. It may be extended to provide InvocationContext-access to such tests if a container-specific implementation of InvocationContextFactory is provided. Combined with ServletTestCase, this would permit in-container tests of servlets in a fashion similar to that supported by ServletUnit.


Nested Class Summary
(package private) static class JUnitServlet.DisplayedResultsFormatter
           
(package private) static class JUnitServlet.HTMLResultsFormatter
           
(package private) static class JUnitServlet.ResultsFormatter
           
(package private)  class JUnitServlet.ServletTestRunner
           
(package private) static class JUnitServlet.TextResultsFormatter
           
(package private) static class JUnitServlet.XMLResultsFormatter
           
 
Field Summary
private  InvocationContextFactory _factory
           
 
Fields inherited from class javax.servlet.http.HttpServlet
 
Fields inherited from class javax.servlet.GenericServlet
 
Constructor Summary
  JUnitServlet()
           
protected JUnitServlet(InvocationContextFactory factory)
           
 
Method Summary
protected  void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Called by the server (via the service method) to allow a servlet to handle a GET request.
private  JUnitServlet.ResultsFormatter getResultsFormatter(java.lang.String formatterName)
           
private  void reportCannotRunTest(java.io.PrintWriter writer, java.lang.String errorMessage)
           
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_factory

private InvocationContextFactory _factory
Constructor Detail

JUnitServlet

public JUnitServlet()

JUnitServlet

protected JUnitServlet(InvocationContextFactory factory)
Method Detail

doGet

protected void doGet(javax.servlet.http.HttpServletRequest request,
                     javax.servlet.http.HttpServletResponse response)
              throws javax.servlet.ServletException,
                     java.io.IOException
Description copied from class: javax.servlet.http.HttpServlet
Called by the server (via the service method) to allow a servlet to handle a GET request.

Overriding this method to support a GET request also automatically supports an HTTP HEAD request. A HEAD request is a GET request that returns no body in the response, only the request header fields.

When overriding this method, read the request data, write the response headers, get the response's writer or output stream object, and finally, write the response data. It's best to include content type and encoding. When using a PrintWriter object to return the response, set the content type before accessing the PrintWriter object.

The servlet container must write the headers before committing the response, because in HTTP the headers must be sent before the response body.

Where possible, set the Content-Length header (with the ServletResponse.setContentLength(int)>ServletResponse.setContentLength(int) 55 method), to allow the servlet container to use a persistent connection to return its response to the client, improving performance. The content length is automatically set if the entire response fits inside the response buffer.

When using HTTP 1.1 chunked encoding (which means that the response has a Transfer-Encoding header), do not set the Content-Length header.

The GET method should be safe, that is, without any side effects for which users are held responsible. For example, most form queries have no side effects. If a client request is intended to change stored data, the request should use some other HTTP method.

The GET method should also be idempotent, meaning that it can be safely repeated. Sometimes making a method safe also makes it idempotent. For example, repeating queries is both safe and idempotent, but buying a product online or modifying data is neither safe nor idempotent.

If the request is incorrectly formatted, doGet returns an HTTP "Bad Request" message.


getResultsFormatter

private JUnitServlet.ResultsFormatter getResultsFormatter(java.lang.String formatterName)

reportCannotRunTest

private void reportCannotRunTest(java.io.PrintWriter writer,
                                 java.lang.String errorMessage)