/* * Copyright (C) 2013-2016 The Rythm Engine project * for LICENSE and other details see: * https://github.com/rythmengine/rythmengine */ package org.rythmengine.web.servlet; import javax.servlet.http.HttpServlet; /** * <p>A servlet to process Rythm templates. This is comparable to the * the JspServlet for JSP-based applications.</p> * * <p>The servlet provides the following features:</p> * <ul> * <li>renders Rythm templates</li> * <li>provides transparent access to the servlet request attributes, * servlet session attributes and servlet context attributes by * auto-searching them</li> * <li>logs to the logging facility of the servlet API</li> * </ul> * * <p>RythmViewServlet supports the following configuration parameters * in web.xml:</p> * <dl> * <dt>org.rythmengine.properties</dt> * <dd>Path and name of the Rythm configuration file. The path must be * relative to the web application root directory. If this parameter * is not present, Rythm will check for a properties file at * '/WEB-INF/rythm.properties'. If no file is found there, then * Rythm is initialized with the settings in the classpath at * 'org.rythmengine.web.servlet.properties'.</dd> * <dt>org.rythmengine.tools.shared.config</dt> * <dd>By default, this is {@code true}. If set to {@code false}, then * the {@link RythmView} used by this servlet will not be shared * with {@link RythmViewFilter}s, other RythmViewServlets or * {@link org.rythmengine.tools.view.jsp.RythmViewTag}s in the * application.</dd> * <dt>org.rythmengine.tools.loadDefaults</dt> * <dd>By default, this is {@code true}. If set to {@code false}, then * the default toolbox configuration will not be added to your (if any) * custom configuration. NOTE: The default configuration will also be * suppressed if you are using a deprecated toolbox.xml format and do not * explicitly set this to {@code true}.</dd> * <dt>org.rythmengine.tools.cleanConfiguration</dt> * <dd>By default, this is {@code false}. If set to {@code true}, then * then the final toolbox configuration (the combination of any custom * one(s) provided by yourself and/or the default configuration(s)) * will have all invalid tools, properties, and/or data removed prior to * configuring the ToolboxFactory for this servlet by a * {@link org.rythmengine.tools.config.ConfigurationCleaner}</dd> * <dt>org.rythmengine.tools.bufferOutput</dt> * <dd>By default, the processed templates are merged directly into * the {@link javax.servlet.http.HttpServletResponse}'s writer. If this parameter is * set to {@code true}, then the output of the merge process will be * buffered before being fed to the response. This allows the {@link #error} * method to be overridden to return a "500 Internal Server Error" or * at least not return any of the failed request content. Essentially, * setting this to {@code true} degrades performance in order to enable * a more "correct" error response"</dd> * </dd> * </dl> * */ public class RythmServlet extends HttpServlet { /** * default serialVersion UID */ private static final long serialVersionUID = 1L; }