类 VelocityViewServlet
- 所有已实现的接口:
jakarta.servlet.Servlet,jakarta.servlet.ServletConfig,Serializable
- 直接已知子类:
VelocityLayoutServlet
A servlet to process Velocity templates. This is comparable to the the JspServlet for JSP-based applications.
The servlet provides the following features:
- renders Velocity templates
- provides support for an auto-loaded, configurable toolbox
- provides transparent access to the servlet request attributes, servlet session attributes and servlet context attributes by auto-searching them
- logs to the logging facility of the servlet API
VelocityViewServlet supports the following configuration parameters in web.xml:
- org.apache.velocity.tools
- Path and name of the toolbox configuration file. The path must be relative to the web application root directory. If this parameter is not found, the servlet will check for a toolbox file at '/WEB-INF/tools.xml'.
- org.apache.velocity.properties
- Path and name of the Velocity configuration file. The path must be relative to the web application root directory. If this parameter is not present, Velocity will check for a properties file at '/WEB-INF/velocity.properties'. If no file is found there, then Velocity is initialized with the settings in the classpath at 'org.apache.velocity.tools.view.velocity.properties'.
- org.apache.velocity.tools.shared.config
- By default, this is
true. If set tofalse, then theVelocityViewused by this servlet will not be shared withVelocityViewFilters, other VelocityViewServlets or org.apache.velocity.tools.view.jsp.VelocityViewTag's in the application. - org.apache.velocity.tools.loadDefaults
- By default, this is
true. If set tofalse, then the default toolbox configuration will not be added to your (if any) custom configuration. - org.apache.velocity.tools.cleanConfiguration
- By default, this is
false. If set totrue, 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 aConfigurationCleaner - org.apache.velocity.tools.bufferOutput
- By default, the processed templates are merged directly into
the
HttpServletResponse's writer. If this parameter is set totrue, then the output of the merge process will be buffered before being fed to the response. This allows theerror(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.Throwable)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 totruedegrades performance in order to enable a more "correct" error response" - org.apache.velocity.tools.view.class
- Allows to specify a custom class (inheriting from VelocityView) as the View class.
- 版本:
- $Id$
- 另请参阅:
-
字段概要
字段从类继承的字段 jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected org.apache.velocity.context.ContextcreateContext(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Get a configured Velocity context for the current request and responsevoiddoGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Handles GET - calls doRequest()voiddoPost(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Handle a POST request - calls doRequest()protected voiddoRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Handles with both GET and POST requestsprotected voiderror(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Throwable e) Invoked when there is an error thrown in any part of doRequest() processing.protected voidfillContext(org.apache.velocity.context.Context context, jakarta.servlet.http.HttpServletRequest request) Standard extension point to populate the context with additional entriesprotected StringfindInitParameter(jakarta.servlet.ServletConfig config, String key) Looks up an init parameter with the specified key in either the ServletConfig or, failing that, in the ServletContext.protected org.slf4j.LoggergetLog()protected WritergetOutputWriter(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Get the output stream writer to use.protected org.apache.velocity.TemplategetTemplate(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Get a template by client request and responseprotected org.apache.velocity.TemplategetTemplate(String name) Get a template by nameprotected StringgetVelocityProperty(String name, String alternate) protected VelocityViewprotected org.apache.velocity.TemplatehandleRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.apache.velocity.context.Context ctx) This was a common extension point, but now it is usually simpler to overridefillContext(org.apache.velocity.context.Context, jakarta.servlet.http.HttpServletRequest)to add custom things to theContextor override agetTemplate(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)method to change howTemplates are retrieved.voidinit(jakarta.servlet.ServletConfig config) Initializes servlet and VelocityView used to process requests.protected voidinitRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Request and response initialization.protected voidmanageResourceNotFound(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.apache.velocity.exception.ResourceNotFoundException e) Manages theResourceNotFoundExceptionto send an HTTP 404 result when needed.protected voidmergeTemplate(org.apache.velocity.Template template, org.apache.velocity.context.Context context, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Merge templateprotected voidmergeTemplate(org.apache.velocity.Template template, org.apache.velocity.context.Context context, jakarta.servlet.http.HttpServletResponse response) 已过时。protected voidrequestCleanup(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.apache.velocity.context.Context context) Cleanup routine called at the end of the request processing sequence allows a derived class to do resource cleanup or other end of process cycle tasks.protected voidsetContentType(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Sets the content type of the response.protected voidsetVelocityView(VelocityView view) 从类继承的方法 jakarta.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service从类继承的方法 jakarta.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
字段详细资料
-
BUFFER_OUTPUT_PARAM
- 另请参阅:
-
-
构造器详细资料
-
VelocityViewServlet
public VelocityViewServlet()
-
-
方法详细资料
-
init
public void init(jakarta.servlet.ServletConfig config) throws jakarta.servlet.ServletException Initializes servlet and VelocityView used to process requests. Called by the servlet container on loading.
- 指定者:
init在接口中jakarta.servlet.Servlet- 覆盖:
init在类中jakarta.servlet.http.HttpServlet- 参数:
config- servlet configuation- 抛出:
jakarta.servlet.ServletException
-
findInitParameter
Looks up an init parameter with the specified key in either the ServletConfig or, failing that, in the ServletContext.- 参数:
config- servlet configkey- parameter key- 返回:
- parameter value or null
-
getVelocityView
-
setVelocityView
-
getVelocityProperty
-
getLog
protected org.slf4j.Logger getLog() -
doGet
public void doGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException Handles GET - calls doRequest()- 覆盖:
doGet在类中jakarta.servlet.http.HttpServlet- 参数:
request- servlet requestresponse- servlet response- 抛出:
jakarta.servlet.ServletException- from underlying callIOException- from underlying call
-
doPost
public void doPost(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException Handle a POST request - calls doRequest()- 覆盖:
doPost在类中jakarta.servlet.http.HttpServlet- 参数:
request- servlet requestresponse- servlet response- 抛出:
jakarta.servlet.ServletException- from underlying callIOException- from underlying call
-
doRequest
protected void doRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException Handles with both GET and POST requests- 参数:
request- HttpServletRequest object containing client requestresponse- HttpServletResponse object for the response- 抛出:
IOException- from underlying processing
-
initRequest
protected void initRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException Request and response initialization. Default version does only one thing: set request POST parameters encoding to Velocity input encoding.
- 参数:
request- HttpServletRequest object containing client requestresponse- HttpServletResponse object for the response- 抛出:
IOException- if thrown by underlying handling
-
handleRequest
protected org.apache.velocity.Template handleRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.apache.velocity.context.Context ctx) This was a common extension point, but now it is usually simpler to override
fillContext(org.apache.velocity.context.Context, jakarta.servlet.http.HttpServletRequest)to add custom things to theContextor override agetTemplate(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)method to change howTemplates are retrieved. This is only recommended for more complicated use-cases.- 参数:
request- client requestresponse- client responsectx- VelocityContext to fill- 返回:
- Velocity Template object or null
-
createContext
protected org.apache.velocity.context.Context createContext(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Get a configured Velocity context for the current request and response- 参数:
request- client requestresponse- client response- 返回:
- configured context
-
fillContext
protected void fillContext(org.apache.velocity.context.Context context, jakarta.servlet.http.HttpServletRequest request) Standard extension point to populate the context with additional entries- 参数:
context- target contextrequest- client request
-
setContentType
protected void setContentType(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Sets the content type of the response. This is available to be overriden by a derived class.The default implementation is :
response.setContentType(getVelocityView().getDefaultContentType());where defaultContentType is set to the value of the default.contentType property, or "text/html" if that was not set for theVelocityView.- 参数:
request- servlet request from clientresponse- servlet reponse to client
-
getTemplate
protected org.apache.velocity.Template getTemplate(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Get a template by client request and response- 参数:
request- client requestresponse- client response- 返回:
- found template
-
getTemplate
Get a template by name- 参数:
name- template name- 返回:
- found template
-
mergeTemplate
protected void mergeTemplate(org.apache.velocity.Template template, org.apache.velocity.context.Context context, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException Merge template- 参数:
template- input templatecontext- Velocity contextrequest- client requestresponse- client response- 抛出:
IOException
-
getOutputWriter
protected Writer getOutputWriter(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException Get the output stream writer to use. If the writer is to be written afterwards to the response writer (as whenorg.apache.velocity.tools.bufferOutputis true), this method must set theorg.apache.velocity.tools.bufferOutputrequest attribute to true.- 参数:
request-response-- 返回:
- 抛出:
IOException
-
mergeTemplate
@Deprecated protected void mergeTemplate(org.apache.velocity.Template template, org.apache.velocity.context.Context context, jakarta.servlet.http.HttpServletResponse response) throws IOException Merge template- 参数:
template- target templatecontext- client requestresponse- client response- 抛出:
IOException
-
error
protected void error(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Throwable e) Invoked when there is an error thrown in any part of doRequest() processing.
Default will send a simple HTML response indicating there was a problem.- 参数:
request- original HttpServletRequest from servlet container.response- HttpServletResponse object from servlet container.e- Exception that was thrown by some other part of process.
-
manageResourceNotFound
protected void manageResourceNotFound(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.apache.velocity.exception.ResourceNotFoundException e) throws IOException Manages theResourceNotFoundExceptionto send an HTTP 404 result when needed.- 参数:
request- The request object.response- The response object.e- The exception to check.- 抛出:
IOException- If something goes wrong when sending the HTTP error.
-
requestCleanup
protected void requestCleanup(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.apache.velocity.context.Context context) Cleanup routine called at the end of the request processing sequence allows a derived class to do resource cleanup or other end of process cycle tasks. This default implementation does nothing.- 参数:
request- servlet request from clientresponse- servlet responsecontext- Context that was merged with the requested template
-
mergeTemplate(Template, Context, HttpServletRequest, HttpServletResponse)}