Top Description Fields Constructors Methods
uk.ac.ed.ph.snuggletex.webapp

public final Class UpConversionDemoServlet

extends BaseServlet
Class Inheritance
Static Imports
uk.ac.ed.ph.snuggletex.utilities.MathMLUtilities.extractAnnotationString, .MathMLUtilities.isolateAnnotationXML, .MathMLUtilities.isolateFirstSemanticsBranch, .MathMLUtilities.serializeDocument, .MathMLUtilities.serializeElement

Servlet demonstrating the up-conversion process on user-entered MATH mode SnuggleTeX input.
Author
David McKain
Version
$Revision:158 $

Field Summary

Modifier and TypeField and Description
private static final String
DEFAULT_INPUT

Default input to use when first showing the page

private static final String
DEFAULT_UPCONVERSION_OPTIONS

Default assumptions to use when first showing the page

private static final String
DISPLAY_XSLT_LOCATION

Location of XSLT controlling page layout

private static Logger
logger

Logger so that we can log what users are trying out to allow us to improve things

private static final long

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected void
doGet(HttpServletRequest request, HttpServletResponse response)

Overrides javax.servlet.http.HttpServlet.doGet.

Called by the server (via the service method) to allow a servlet to handle a GET request.

protected void
doPost(HttpServletRequest request, HttpServletResponse response)

Overrides javax.servlet.http.HttpServlet.doPost.

Called by the server (via the service method) to allow a servlet to handle a POST request.

private void
Inherited from uk.ac.ed.ph.snuggletex.webapp.BaseServlet:
chooseBestBaseWebPageOutputOptionschooseBestWebPageTypecreateMathMLSourceSerializationOptionscreateSnuggleEngineensureGetContextInitParamensureReadResourceextractMathMLElementgetStylesheetgetStylesheetCachegetStylesheetManagerisInternetExplorerisMathMLCapable

Field Detail

DEFAULT_INPUTback to summary
private static final String DEFAULT_INPUT

Default input to use when first showing the page

DEFAULT_UPCONVERSION_OPTIONSback to summary
private static final String DEFAULT_UPCONVERSION_OPTIONS

Default assumptions to use when first showing the page

DISPLAY_XSLT_LOCATIONback to summary
private static final String DISPLAY_XSLT_LOCATION

Location of XSLT controlling page layout

loggerback to summary
private static Logger logger

Logger so that we can log what users are trying out to allow us to improve things

serialVersionUIDback to summary
private static final long serialVersionUID

Hides uk.ac.ed.ph.snuggletex.webapp.BaseServlet.serialVersionUID.

Constructor Detail

UpConversionDemoServletback to summary
public UpConversionDemoServlet()

Method Detail

doGetback to summary
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

Overrides javax.servlet.http.HttpServlet.doGet.

Doc from javax.servlet.http.HttpServlet.doGet.

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 javax.servlet.ServletResponse#setContentLength 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.

Annotations
@Override
Exceptions
ServletException:
if the request for the GET could not be handled
IOException:
if an input or output error is detected when the servlet handles the GET request
doPostback to summary
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

Overrides javax.servlet.http.HttpServlet.doPost.

Doc from javax.servlet.http.HttpServlet.doPost.

Called by the server (via the service method) to allow a servlet to handle a POST request. The HTTP POST method allows the client to send data of unlimited length to the Web server a single time and is useful when posting information such as credit card numbers.

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 javax.servlet.ServletResponse#setContentLength 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.

This method does not need to be either safe or idempotent. Operations requested through POST can have side effects for which the user can be held accountable, for example, updating stored data or buying items online.

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

Annotations
@Override
Exceptions
ServletException:
if the request for the POST could not be handled
IOException:
if an input or output error is detected when the servlet handles the request
doRequestback to summary
private void doRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException