From 11c4bfac46f66ab3ba24b6354a6a372da40c0b1f Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Thu, 9 Jan 2014 12:52:06 +0100 Subject: PDF-AS web Developments --- .../gv/egiz/pdfas/web/servlets/DataURLServlet.java | 7 +- .../at/gv/egiz/pdfas/web/servlets/ErrorPage.java | 101 ++++++++++ .../egiz/pdfas/web/servlets/ExternSignServlet.java | 205 +++++++++++++++++++++ .../at/gv/egiz/pdfas/web/servlets/PDFData.java | 62 +++++++ .../egiz/pdfas/web/servlets/ProvidePDFServlet.java | 75 ++++++-- .../at/gv/egiz/pdfas/web/servlets/SignServlet.java | 102 ---------- .../at/gv/egiz/pdfas/web/servlets/TestServlet.java | 43 +++++ .../gv/egiz/pdfas/web/servlets/VerifyServlet.java | 1 - 8 files changed, 475 insertions(+), 121 deletions(-) create mode 100644 pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java create mode 100644 pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java create mode 100644 pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java delete mode 100644 pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SignServlet.java create mode 100644 pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/TestServlet.java (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets') diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java index a8dfb053..a0fe3e80 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java @@ -27,7 +27,6 @@ public class DataURLServlet extends HttpServlet { */ public DataURLServlet() { super(); - // TODO Auto-generated constructor stub } /** @@ -51,7 +50,7 @@ public class DataURLServlet extends HttpServlet { protected void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { - + PdfAsHelper.setFromDataUrl(request); String xmlResponse = request.getParameter("XMLResponse"); System.out.println(xmlResponse); @@ -59,10 +58,10 @@ public class DataURLServlet extends HttpServlet { JAXBElement jaxbObject = (JAXBElement) SLMarschaller.unmarshalFromString(xmlResponse); if(jaxbObject.getValue() instanceof InfoboxReadResponseType) { InfoboxReadResponseType infoboxReadResponseType = (InfoboxReadResponseType)jaxbObject.getValue(); - PdfAsHelper.injectCertificate(request, response, infoboxReadResponseType); + PdfAsHelper.injectCertificate(request, response, infoboxReadResponseType, getServletContext()); } else if(jaxbObject.getValue() instanceof CreateCMSSignatureResponseType) { CreateCMSSignatureResponseType createCMSSignatureResponseType = (CreateCMSSignatureResponseType)jaxbObject.getValue(); - PdfAsHelper.injectSignature(request, response, createCMSSignatureResponseType); + PdfAsHelper.injectSignature(request, response, createCMSSignatureResponseType, getServletContext()); } else if(jaxbObject.getValue() instanceof ErrorResponseType) { ErrorResponseType errorResponseType = (ErrorResponseType)jaxbObject.getValue(); // TODO: store error and redirect user diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java new file mode 100644 index 00000000..fceeed85 --- /dev/null +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java @@ -0,0 +1,101 @@ +package at.gv.egiz.pdfas.web.servlets; + +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URLEncoder; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.swing.text.html.HTML; + +import org.apache.commons.lang3.StringEscapeUtils; + +import at.gv.egiz.pdfas.web.helper.HTMLFormater; +import at.gv.egiz.pdfas.web.helper.PdfAsHelper; + +/** + * Servlet implementation class ErrorPage + */ +public class ErrorPage extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public ErrorPage() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + process(request, response); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + process(request, response); + } + + protected void process(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + if (PdfAsHelper.getFromDataUrl(request)) { + // redirect to here! + response.sendRedirect(PdfAsHelper.generateErrorURL(request, + response)); + return; + } else { + String errorURL = PdfAsHelper.getErrorURL(request, response); + Throwable e = PdfAsHelper + .getSessionException(request, response); + String message = PdfAsHelper.getSessionErrMessage(request, + response); + if (errorURL != null) { + String template = PdfAsHelper.getErrorRedirectTemplateSL(); + template = template.replace("##ERROR_URL##", + errorURL); + if (e != null) { + template = template.replace("##CAUSE##", + URLEncoder.encode(e.getMessage(), "UTF-8")); + } else { + template = template.replace("##CAUSE##", + ""); + } + if (message != null) { + template = template.replace("##ERROR##", URLEncoder.encode(message, "UTF-8")); + } else { + template = template.replace("##ERROR##", "Unbekannter Fehler"); + } + response.setContentType("text/html"); + response.getWriter().write(template); + response.getWriter().close(); + } else { + response.setContentType("text/html"); + PrintWriter pw = response.getWriter(); + + pw.write("Error Page:"); + if (message != null) { + pw.write("

" + message + "

"); + } + + if (e != null) { + pw.write("

" + + HTMLFormater.formatStackTrace(e.getStackTrace()) + + "

"); + } + pw.write(""); + pw.close(); + } + } + } +} diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java new file mode 100644 index 00000000..90c77320 --- /dev/null +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java @@ -0,0 +1,205 @@ +package at.gv.egiz.pdfas.web.servlets; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.fileupload.servlet.ServletFileUpload; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.gv.egiz.pdfas.common.exceptions.PdfAsException; +import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner; +import at.gv.egiz.pdfas.sigs.pades.PAdESSigner; +import at.gv.egiz.pdfas.web.exception.PdfAsWebException; +import at.gv.egiz.pdfas.web.helper.PdfAsHelper; +import at.gv.egiz.pdfas.web.helper.PdfAsParameterExtractor; +import at.gv.egiz.pdfas.web.helper.RemotePDFFetcher; +import at.gv.egiz.sl.util.BKUSLConnector; +import at.gv.egiz.sl.util.MOAConnector; + +/** + * Servlet implementation class Sign + */ +public class ExternSignServlet extends HttpServlet { + + private static final long serialVersionUID = 1L; + + private static final String UPLOAD_PDF_DATA = "pdfFile"; + private static final String UPLOAD_DIRECTORY = "upload"; + private static final int THRESHOLD_SIZE = 1024 * 1024 * 3; // 3MB + private static final int MAX_FILE_SIZE = 1024 * 1024 * 40; // 40MB + private static final int MAX_REQUEST_SIZE = 1024 * 1024 * 50; // 50MB + + private static final Logger logger = LoggerFactory + .getLogger(ExternSignServlet.class); + + /** + * Default constructor. + */ + public ExternSignServlet() { + } + + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + + System.out.println("Get signing request"); + logger.info("Get signing request"); + + String errorUrl = PdfAsParameterExtractor.getInvokeErrorURL(request); + PdfAsHelper.setErrorURL(request, response, errorUrl); + try { + // Mandatory Parameters on Get Request: + String invokeUrl = PdfAsParameterExtractor.getInvokeURL(request); + PdfAsHelper.setInvokeURL(request, response, invokeUrl); + + String pdfUrl = PdfAsParameterExtractor.getPdfUrl(request); + + if (pdfUrl == null) { + throw new PdfAsWebException( + "No PDF URL given! Use POST request to sign without PDF URL."); + } + + byte[] pdfData = RemotePDFFetcher.fetchPdfFile(pdfUrl); + doSignature(request, response, pdfData); + } catch (Exception e) { + PdfAsHelper.setSessionException(request, response, e.getMessage(), + e); + PdfAsHelper.gotoError(getServletContext(), request, response); + } + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + + System.out.println("Post signing request"); + logger.info("Post signing request"); + + String errorUrl = PdfAsParameterExtractor.getInvokeErrorURL(request); + PdfAsHelper.setErrorURL(request, response, errorUrl); + + try { + byte[] filecontent = null; + + // checks if the request actually contains upload file + if (!ServletFileUpload.isMultipartContent(request)) { + // No Uploaded data! + if (PdfAsParameterExtractor.getPdfUrl(request) != null) { + doGet(request, response); + return; + } else { + throw new PdfAsWebException("No Signature data defined!"); + } + } else { + // configures upload settings + DiskFileItemFactory factory = new DiskFileItemFactory(); + factory.setSizeThreshold(THRESHOLD_SIZE); + factory.setRepository(new File(System + .getProperty("java.io.tmpdir"))); + + ServletFileUpload upload = new ServletFileUpload(factory); + upload.setFileSizeMax(MAX_FILE_SIZE); + upload.setSizeMax(MAX_REQUEST_SIZE); + + // constructs the directory path to store upload file + String uploadPath = getServletContext().getRealPath("") + + File.separator + UPLOAD_DIRECTORY; + // creates the directory if it does not exist + File uploadDir = new File(uploadPath); + if (!uploadDir.exists()) { + uploadDir.mkdir(); + } + + List formItems = upload.parseRequest(request); + logger.debug(formItems.size() + " Items in form data"); + if (formItems.size() < 1) { + // No Uploaded data! + // Try do get + // No Uploaded data! + if (PdfAsParameterExtractor.getPdfUrl(request) != null) { + doGet(request, response); + return; + } else { + throw new PdfAsWebException( + "No Signature data defined!"); + } + } else { + for(int i = 0; i < formItems.size(); i++) { + Object obj = formItems.get(i); + if(obj instanceof FileItem) { + FileItem item = (FileItem) obj; + if(item.getFieldName().equals(UPLOAD_PDF_DATA)) { + filecontent = item.get(); + logger.debug("Found pdf Data!"); + } else { + request.setAttribute(item.getFieldName(), item.getString()); + logger.debug("Setting " + item.getFieldName() + " = " + item.getString()); + } + } else { + logger.info(obj.getClass().getName() + " - " + obj.toString()); + } + } + } + } + + if(filecontent == null) { + if (PdfAsParameterExtractor.getPdfUrl(request) != null) { + filecontent = RemotePDFFetcher.fetchPdfFile(PdfAsParameterExtractor.getPdfUrl(request)); + } + } + + if(filecontent == null) { + throw new PdfAsException("No Signature data available"); + } + + doSignature(request, response, filecontent); + } catch (Exception e) { + PdfAsHelper.setSessionException(request, response, e.getMessage(), + e); + PdfAsHelper.gotoError(getServletContext(), request, response); + } + } + + protected void doSignature(HttpServletRequest request, + HttpServletResponse response, byte[] pdfData) throws Exception { + // Get Connector + String connector = PdfAsParameterExtractor.getConnector(request); + + String invokeUrl = PdfAsParameterExtractor.getInvokeURL(request); + PdfAsHelper.setInvokeURL(request, response, invokeUrl); + + String errorUrl = PdfAsParameterExtractor.getInvokeErrorURL(request); + PdfAsHelper.setErrorURL(request, response, errorUrl); + + logger.debug("Starting signature creation with: " + connector); + + IPlainSigner signer; + if (connector.equals("bku") || connector.equals("onlinebku") || connector.equals("mobilebku")) { + // start asynchronous signature creation + PdfAsHelper.startSignature(request, response, getServletContext(), pdfData); + } else if (connector.equals("jks") || connector.equals("moa")) { + // start synchronous siganture creation + byte[] pdfSignedData = PdfAsHelper.synchornousSignature(request, + response, pdfData); + PdfAsHelper.setSignedPdf(request, response, pdfSignedData); + PdfAsHelper.gotoProvidePdf(getServletContext(), request, response); + return; + } else { + throw new PdfAsWebException("Invalid connector (bku | moa | jks)"); + } + + } + +} diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java new file mode 100644 index 00000000..6ce0e1c9 --- /dev/null +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java @@ -0,0 +1,62 @@ +package at.gv.egiz.pdfas.web.servlets; + +import java.io.IOException; +import java.io.OutputStream; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import at.gv.egiz.pdfas.web.helper.PdfAsHelper; + +/** + * Servlet implementation class PDFData + */ +public class PDFData extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public PDFData() { + super(); + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + this.process(request, response); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + this.process(request, response); + } + + protected void process(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + byte[] signedData = PdfAsHelper.getSignedPdf(request, response); + + if (signedData != null) { + response.setContentType("application/pdf"); + OutputStream os = response.getOutputStream(); + os.write(signedData); + os.close(); + + // When data is collected destroy session! + request.getSession().invalidate(); + } else { + PdfAsHelper.setSessionException(request, response, + "No signed pdf document available.", null); + PdfAsHelper.gotoError(getServletContext(), request, response); + } + } +} diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java index 26f42840..e1387fce 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java @@ -1,37 +1,84 @@ package at.gv.egiz.pdfas.web.servlets; import java.io.IOException; +import java.io.PrintWriter; + import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import at.gv.egiz.pdfas.common.exceptions.PdfAsException; +import at.gv.egiz.pdfas.web.helper.PdfAsHelper; + /** * Servlet implementation class ProvidePDF */ public class ProvidePDFServlet extends HttpServlet { private static final long serialVersionUID = 1L; - - /** - * @see HttpServlet#HttpServlet() - */ - public ProvidePDFServlet() { - super(); - // TODO Auto-generated constructor stub - } /** - * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) + * @see HttpServlet#HttpServlet() + */ + public ProvidePDFServlet() { + super(); + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse + * response) */ - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // TODO Auto-generated method stub + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + this.process(request, response); } /** - * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) */ - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // TODO Auto-generated method stub + protected void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + this.process(request, response); } + protected void process(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + try { + String invokeURL = PdfAsHelper.getInvokeURL(request, response); + + if (invokeURL == null) { + // Deliver to Browser directly! + response.setContentType("text/html"); + PrintWriter pw = response.getWriter(); + pw.write("PDF ready @: here"); + pw.close(); + + } else { + // Redirect Browser + String template = PdfAsHelper.getInvokeRedirectTemplateSL(); + template = template.replace("##INVOKE_URL##", invokeURL); + + byte[] signedData = PdfAsHelper.getSignedPdf(request, response); + if (signedData != null) { + template = template.replace("##PDFLENGTH##", + String.valueOf(signedData.length)); + } else { + throw new PdfAsException("No Signature data available"); + } + + template = template.replace("##PDFURL##", + PdfAsHelper.generatePdfURL(request, response)); + response.setContentType("text/html"); + response.getWriter().write(template); + response.getWriter().close(); + } + } catch (Exception e) { + PdfAsHelper.setSessionException(request, response, e.getMessage(), + e); + PdfAsHelper.gotoError(getServletContext(), request, response); + } + } } diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SignServlet.java deleted file mode 100644 index b0c9a56e..00000000 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SignServlet.java +++ /dev/null @@ -1,102 +0,0 @@ -package at.gv.egiz.pdfas.web.servlets; - -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.List; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.disk.DiskFileItemFactory; -import org.apache.commons.fileupload.servlet.ServletFileUpload; - -import at.gv.egiz.pdfas.web.helper.PdfAsHelper; - -/** - * Servlet implementation class Sign - */ -public class SignServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final String UPLOAD_DIRECTORY = "upload"; - private static final int THRESHOLD_SIZE = 1024 * 1024 * 3; // 3MB - private static final int MAX_FILE_SIZE = 1024 * 1024 * 40; // 40MB - private static final int MAX_REQUEST_SIZE = 1024 * 1024 * 50; // 50MB - - /** - * Default constructor. - */ - public SignServlet() { - // TODO Auto-generated constructor stub - } - - /** - * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse - * response) - */ - protected void doPost(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - try { - doParameters(request, response); - } catch (Exception e) { - e.printStackTrace(); - } - } - - protected void doParameters(HttpServletRequest request, - HttpServletResponse response) throws Exception { - // checks if the request actually contains upload file - if (!ServletFileUpload.isMultipartContent(request)) { - PrintWriter writer = response.getWriter(); - writer.println("Request does not contain upload data"); - writer.flush(); - return; - } - - // configures upload settings - DiskFileItemFactory factory = new DiskFileItemFactory(); - factory.setSizeThreshold(THRESHOLD_SIZE); - factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); - - ServletFileUpload upload = new ServletFileUpload(factory); - upload.setFileSizeMax(MAX_FILE_SIZE); - upload.setSizeMax(MAX_REQUEST_SIZE); - - // constructs the directory path to store upload file - String uploadPath = getServletContext().getRealPath("") - + File.separator + UPLOAD_DIRECTORY; - // creates the directory if it does not exist - File uploadDir = new File(uploadPath); - if (!uploadDir.exists()) { - uploadDir.mkdir(); - } - - List formItems = upload.parseRequest(request); - byte[] filecontent = null; - if(formItems.size() != 1) { - // TODO: no file uploaded! - } else { - FileItem item = (FileItem) formItems.get(0); - filecontent = item.get(); - } - - doSignature(request, response, filecontent); - } - - protected void doSignature(HttpServletRequest request, - HttpServletResponse response, byte[] pdfData) { - try { - // TODO: read Parameters ... - PdfAsHelper.startSignature(request, response, pdfData); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - -} diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/TestServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/TestServlet.java new file mode 100644 index 00000000..7e5ae044 --- /dev/null +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/TestServlet.java @@ -0,0 +1,43 @@ +package at.gv.egiz.pdfas.web.servlets; + +import java.io.IOException; +import java.io.PrintWriter; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import at.gv.egiz.pdfas.web.helper.PdfAsHelper; + +/** + * Servlet implementation class TestServlet + */ +public class TestServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public TestServlet() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + PrintWriter pw = response.getWriter(); + pw.write(PdfAsHelper.generateDataURL(request, response)); + pw.close(); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) + */ + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // TODO Auto-generated method stub + } + +} diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java index 119bd2cb..4418c30b 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java @@ -26,7 +26,6 @@ public class VerifyServlet extends HttpServlet { */ public VerifyServlet() { super(); - // TODO Auto-generated constructor stub } /** -- cgit v1.2.3