GET
and POST
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
// Asciidoc-Quelldatei aus HTTP-Request ermitteln
String vPath = request.getServletPath();
String absname = getServletContext().getRealPath(vPath);
File adocfile = new File(absname);
// HTML-Datei ermitteln
String nameext = adocfile.getName();
String fname = nameext.substring(0, nameext.lastIndexOf(DOT));
File htmlfile = new File(adocfile.getParentFile(), fname + HTMLEXT);
/*
transformieren, wenn die Quelle sich geandert hat oder
die HTML-Datei noch nicht existiert
*/
if(!htmlfile.exists() || adocfile.lastModified() > htmlfile.lastModified()) {
transform(absname);
}
FileInputStream in = new FileInputStream(htmlfile);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
out.println(line);
}
}
}
private void transform(String absoluteFileName) {
Asciidoctor asciidoctor = create();
Maprequest.getRequestURI(): " + request.getRequestURI() + "
"); out.println("request.getRequestURL(): " + request.getRequestURL() + "
"); out.println("request.getServletPath(): " + request.getServletPath() + "
"); out.println("request.getPathInfo(): " + request.getPathInfo() + "
"); String vPath = request.getServletPath(); out.println("vPath: " + vPath); out.println("
getServletContext().getRealPath(vPath): " + getServletContext().getRealPath(vPath) + "
"); out.println(""); out.println(""); } } //GET
method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP POST
method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "AdocServlet";
}//