|
Project 4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.servlet.GenericServlet
javax.servlet.http.HttpServlet
cscie259.project4.scamazon.ScamazonServlet
cscie259.project4.scamazon.Receipt
This servlet produces Scamazon.com's receipts as PDFs.
Any references to the local file system in the servlet's context are resolved with respect to project4-6.0/webapps/scamazon/. Based on version 1.1.2.1 of Apache's FopServlet.java, per the below copyright notice; original source from FOP 0.20.5rc2's distribution. $Id: FopServlet.java,v 1.1.2.1 2003/01/13 16:27:14 jeremias Exp $ Copyright (C) 2001 The Apache Software Foundation. All rights reserved. For details on use and redistribution please refer to the LICENSE file included with these sources. Given an XSL-FO file or, alternatively, XML and XSLT which together yield XSL-FO, produces PDF, which is returned directly to the browser. Current usage:http://$HOSTNAME.fas.harvard.edu:n/scamazon/servlet/receipt?fo=foo.fo&ext=.pdf http://$HOSTNAME.fas.harvard.edu:n/scamazon/servlet/receipt?xml=foo.xml&xsl=foo.xsl&ext=.pdfPer http://xml.apache.org/fop/embedding.html, "Some browsers have problems handling the PDF result sent back to the browser. IE is particularly bad and different versions behave differently. Having a '.pdf' on the end of the URL may help." Hence our inclusion of the unused "ext" parameter in the current usage. You MAY modify this file.
Nested Class Summary | |
private class |
Receipt.myURIResolver
Resolves references to files. |
Nested classes inherited from class cscie259.project4.scamazon.ScamazonServlet |
ScamazonServlet.AnErrorListener |
Field Summary | |
static java.lang.String |
FO_REQUEST_PARAM
HTTP parameter referencing an XSL-FO file |
private org.apache.avalon.framework.logger.Logger |
log
|
static java.lang.String |
XML_REQUEST_PARAM
HTTP parameter referencing an XML file |
static java.lang.String |
XSLT_REQUEST_PARAM
HTTP parameter referencing an XSLT file |
Fields inherited from class javax.servlet.http.HttpServlet |
|
Fields inherited from class javax.servlet.GenericServlet |
|
Constructor Summary | |
Receipt()
|
Method Summary | |
void |
doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Responds to GETs in the same manner as POSTs. |
void |
doPost(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Respond to POSTs in the same manner as GETs. |
void |
doWork(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Handles operations involving receipts. |
void |
processXSL(java.lang.String xml,
java.lang.String xsl,
javax.servlet.http.HttpServletResponse response)
Renders an XML file into a PDF file by applying a stylesheet that converts the XML to XSL-FO. |
void |
renderFO(org.xml.sax.InputSource foFile,
javax.servlet.http.HttpServletResponse response)
Renders an FO input source into a PDF file which is written directly to the response object's OutputStream. |
Methods inherited from class cscie259.project4.scamazon.ScamazonServlet |
forward, redirect |
Methods inherited from class javax.servlet.http.HttpServlet |
doDelete, doHead, doOptions, 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 |
public static final java.lang.String FO_REQUEST_PARAM
private org.apache.avalon.framework.logger.Logger log
public static final java.lang.String XML_REQUEST_PARAM
public static final java.lang.String XSLT_REQUEST_PARAM
Constructor Detail |
public Receipt()
Method Detail |
public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
doGet
in class ScamazonServlet
request
- HTTP request objectresponse
- HTTP response object
java.io.IOException
- if an IO-related error occurs
javax.servlet.ServletException
- if a servlet-related error occurspublic void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
doPost
in class ScamazonServlet
request
- HTTP request objectresponse
- HTTP response object
java.io.IOException
- if an IO-related error occurs
javax.servlet.ServletException
- if a servlet-related error occurspublic void doWork(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException
doWork
in class ScamazonServlet
request
- HTTP request objectresponse
- HTTP response object
javax.servlet.ServletException
- if a servlet-related error occurspublic void processXSL(java.lang.String xml, java.lang.String xsl, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException
xml
- name of XML input filexsl
- name of XSLT input fileresponse
- HTTP response object
javax.servlet.ServletException
- if a servlet-related error occurspublic void renderFO(org.xml.sax.InputSource foFile, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException
foFile
- XSL-FO fileresponse
- HTTP response object
javax.servlet.ServletException
- if a servlet-related error occurs
|
Project 4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |