![JAR search and dependency download from the Maven repository](/logo.png)
net.ymate.platform.webmvc.IWebMvcConfig Maven / Gradle / Ivy
/*
* Copyright 2007-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.ymate.platform.webmvc;
import net.ymate.platform.core.beans.annotation.Ignored;
import net.ymate.platform.core.support.IInitialization;
import net.ymate.platform.webmvc.cors.CrossDomainSettings;
import org.apache.commons.fileupload.ProgressListener;
import java.util.Set;
/**
* WebMVC模块配置接口
*
* @author 刘镇 ([email protected]) on 15/5/28 下午1:33
*/
@Ignored
public interface IWebMvcConfig extends IInitialization {
String DEFAULT_STR = "default";
String IGNORE_REGEX_PREFIX = "^.+\\.(";
String IGNORE_REGEX_SUFFIX = ")$";
String IGNORE_REGEX_DEFAULT = "jsp|jspx|png|gif|jpg|jpeg|js|css|swf|ico|htm|html|eot|woff|woff2|ttf|svg|map";
String IGNORE_REGEX = IGNORE_REGEX_PREFIX + IGNORE_REGEX_DEFAULT + IGNORE_REGEX_SUFFIX;
String REQUEST_MAPPING_PARSER_CLASS = "request_mapping_parser_class";
String REQUEST_PROCESSOR_CLASS = "request_processor_class";
String ERROR_PROCESSOR_CLASS = "error_processor_class";
String CACHE_PROCESSOR_CLASS = "cache_processor_class";
String RESOURCES_HOME = "resources_home";
String RESOURCE_NAME = "resource_name";
String LANGUAGE_PARAM_NAME = "language_param_name";
String DEFAULT_CHARSET_ENCODING = "default_charset_encoding";
String DEFAULT_CONTENT_TYPE = "default_content_type";
String REQUEST_IGNORE_SUFFIX = "request_ignore_regex";
String REQUEST_METHOD_PARAM = "request_method_param";
String REQUEST_PREFIX = "request_prefix";
String BASE_VIEW_PATH = "base_view_path";
String COOKIE_PREFIX = "cookie_prefix";
String COOKIE_DOMAIN = "cookie_domain";
String COOKIE_PATH = "cookie_path";
String COOKIE_AUTH_KEY = "cookie_auth_key";
String COOKIE_AUTH_ENABLED = "cookie_auth_enabled";
String COOKIE_USE_HTTP_ONLY = "cookie_use_http_only";
String UPLOAD_TEMP_DIR = "upload_temp_dir";
String UPLOAD_FILE_SIZE_MAX = "upload_file_size_max";
String UPLOAD_TOTAL_SIZE_MAX = "upload_total_size_max";
String UPLOAD_SIZE_THRESHOLD = "upload_size_threshold";
String UPLOAD_LISTENER_CLASS = "upload_listener_class";
String CONVENTION_MODE = "convention_mode";
String CONVENTION_URL_REWRITE_MODE = "convention_url_rewrite_mode";
String CONVENTION_INTERCEPTOR_MODE = "convention_interceptor_mode";
String CONVENTION_VIEW_PATHS = "convention_view_paths";
String CROSS_DOMAIN_SETTINGS_ENABLED = "cross_domain_settings_enabled";
String CROSS_DOMAIN_OPTIONS_AUTO_REPLY = "cross_domain_options_auto_reply";
String CROSS_DOMAIN_ALLOWED_ORIGINS = "cross_domain_allowed_origins";
String CROSS_DOMAIN_ALLOWED_ORIGINS_CHECKER_CLASS = "cross_domain_allowed_origins_checker_class";
String CROSS_DOMAIN_ALLOWED_METHODS = "cross_domain_allowed_methods";
String CROSS_DOMAIN_ALLOWED_HEADERS = "cross_domain_allowed_headers";
String CROSS_DOMAIN_EXPOSED_HEADERS = "cross_domain_exposed_headers";
String CROSS_DOMAIN_ALLOWED_CREDENTIALS = "cross_domain_allowed_credentials";
String CROSS_DOMAIN_MAX_AGE = "cross_domain_max_age";
/**
* 控制器请求URL后缀, 默认值为空
*/
String PARAMS_REQUEST_SUFFIX = "webmvc.request_suffix";
/**
* 服务名称, 默认值: request.getServerName();
*/
String PARAMS_SERVER_NAME = "webmvc.server_name";
/**
* 系统异常分析是否关闭
*/
String PARAMS_EXCEPTION_ANALYSIS_DISABLED = "webmvc.exception_analysis_disabled";
/**
* 默认异常响应视图格式, 默认值: "", 可选范围: json|xml
*/
String PARAMS_ERROR_DEFAULT_VIEW_FORMAT = "webmvc.error_default_view_format";
/**
* 异常响应时是否使用状态码, 默认值: false, 若开启则当发生异常且响应状态码值为200(OK)时将强制修改为400(BAD_REQUEST)
*/
String PARAMS_ERROR_WITH_STATUS_CODE = "webmvc.error_with_status_code";
/**
* 异常信息视图文件,默认值为error.jsp
*/
String PARAMS_ERROR_VIEW = "webmvc.error_view";
/**
* 验证结果消息模板, 默认值: "${items}"
*/
String PARAMS_VALIDATION_TEMPLATE_ELEMENT = "webmvc.validation_template_element";
/**
* 验证结果消息项模板, 默认值: "${message}
"
*/
String PARAMS_VALIDATION_TEMPLATE_ITEM = "webmvc.validation_template_item";
/**
* 允许访问和重定向的主机名称, 多个主机名称用'|'分隔, 默认值: 空(表示不限制)
*/
String PARAMS_ALLOWED_ACCESS_HOSTS = "webmvc.allowed_access_hosts";
/**
* 允许上传的文件类型
*/
String PARAMS_ALLOWED_UPLOAD_CONTENT_TYPES = "webmvc.allowed_upload_content_types";
/**
* 控制器请求映射路径分析器,可选值为已知分析器名称或自定义分析器类名称,默认为default,目前支持已知分析器[default|...]
*
* @return 返回控制器请求映射路径分析器
*/
IRequestMappingParser getRequestMappingParser();
/**
* 控制器请求处理器,可选值为已知处理器名称或自定义处理器类名称,自定义类需实现net.ymate.platform.webmvc.IRequestProcessor接口,默认为default,目前支持已知处理器[default|json|xml|...]
*
* @return 返回控制器请求处理器
*/
IRequestProcessor getRequestProcessor();
/**
* 异常错误处理器,可选参数,默认值为net.ymate.platform.webmvc.impl.DefaultWebErrorProcessor
*
* @return 返回异常错误处理器
*/
IWebErrorProcessor getErrorProcessor();
/**
* 缓存处理器,可选参数,此类需实现net.ymate.platform.webmvc.IWebCacheProcessor接口
*
* @return 返回缓存处理器
*/
IWebCacheProcessor getCacheProcessor();
/**
* 国际化资源文件存放路径,可选参数,默认值为${root}/i18n/
*
* @return 返回国际化资源文件存放路径
*/
String getResourceHome();
/**
* 国际化资源文件名称,可选参数,默认值为messages
*
* @return 返回国际化资源文件名称
*/
String getResourceName();
/**
* 国际化语言设置参数名称,可选参数,默认值为_lang
*
* @return 返回国际化语言设置参数名称
*/
String getLanguageParamName();
/**
* 默认字符编码集设置,可选参数,默认值为UTF-8
*
* @return 返回默认字符编码集设置
*/
String getDefaultCharsetEncoding();
/**
* 默认Content-Type设置,可选参数,默认值为text/html
*
* @return 返回默认Content-Type设置
*/
String getDefaultContentType();
/**
* 请求忽略后缀集合,可选参数,默认值为jsp|jspx|png|gif|jpg|jpeg|js|css|swf|ico|htm|html|eot|woff|ttf|svg|map
*
* @return 返回请求忽略后缀集合
*/
Set getRequestIgnoreSuffixes();
/**
* 请求方法参数名称,可选参数,默认值为_method
*
* @return 返回请求方法参数名称
*/
String getRequestMethodParam();
/**
* 请求路径前缀,可选参数,默认值为空
*
* @return 返回请求路径前缀
*/
String getRequestPrefix();
/**
* 控制器视图文件基础路径(必须是以 '/' 开始和结尾,默认值为/WEB-INF/templates/)
*
* @return 返回控制器视图文件基础路径
*/
String getBaseViewPath();
/**
* 控制器视图绝对路径
*
* @return 返回控制器视图绝对路径
*/
String getAbstractBaseViewPath();
/**
* Cookie键前缀,可选参数,默认值为空
*
* @return 返回Cookie键前缀
*/
String getCookiePrefix();
/**
* Cookie作用域,可选参数,默认值为空
*
* @return 返回Cookie作用域
*/
String getCookieDomain();
/**
* Cookie作用路径,可选参数,默认值为'/'
*
* @return 返回Cookie作用路径
*/
String getCookiePath();
/**
* Cookie密钥,可选参数,默认值为空
*
* @return 返回Cookie密钥
*/
String getCookieAuthKey();
/**
* Cookie密钥验证是否默认开启, 默认值为false
*
* @return 返回true表示默认开启
*/
boolean isCookieAuthEnabled();
/**
* Cookie是否默认使用HttpOnly, 默认值为false
*
* @return 返回true表示使用HttpOnly
*/
boolean isCookieUseHttpOnly();
/**
* 文件上传临时目录,为空则默认使用:System.getProperty("java.io.tmpdir")
*
* @return 返回文件上传临时目录
*/
String getUploadTempDir();
/**
* 上传文件大小最大值(字节),默认值:10485760(注:10485760 = 10M)
*
* @return 返回上传文件大小最大值
*/
int getUploadFileSizeMax();
/**
* 上传文件总量大小最大值(字节), 默认值:10485760(注:10485760 = 10M)
*
* @return 返回上传文件总量大小最大值
*/
int getUploadTotalSizeMax();
/**
* 内存缓冲区的大小,默认值: 10240字节(=10K),即如果文件大于10K,将使用临时文件缓存上传文件
*
* @return 返回内存缓冲区的大小
*/
int getUploadSizeThreshold();
/**
* 文件上传状态监听器,可选参数,默认值为空
*
* @return 返回文件上传状态监听器
*/
ProgressListener getUploadListener();
/**
* 是否开启视图自动渲染(约定优于配置,无需编写控制器代码,直接匹配并执行视图)模式,可选参数,默认值为false
*
* @return 返回true表示开启
*/
boolean isConventionMode();
/**
* Convention模式开启时是否采用URL伪静态 (URL中通过分隔符'_'传递多个请求参数,通过UrlParams[index]方式引用参数值) 模式,可选参数,默认值为false
*
* @return 返回true表示开启
*/
boolean isConventionUrlRewriteMode();
/**
* Convention模式开启时是否采用拦截器规则设置,可选参数,默认值为false
*
* @return 返回true表示开启
*/
boolean isConventionInterceptorMode();
/**
* Convention模式开启时视图文件路径(基于base_view_path的相对路径, 加号或无符串代表允许访问),可选参数,默认值为空(即不限制访问路径),多个路径间用'|'分隔
*
* @return 返回允许访问的视图文件路径集合
*/
Set getConventionViewAllowPaths();
/**
* Convention模式开启时视图文件路径(基于base_view_path的相对路径,'-'号代表禁止访问,'+'或无符串代表允许访问),可选参数,默认值为空(即不限制访问路径),多个路径间用'|'分隔
*
* @return 返回禁止访问的视图文件路径集合
*/
Set getConventionViewNotAllowPaths();
/**
* 获取跨域设置
*
* @return 返回跨域设置
*/
CrossDomainSettings getCrossDomainSettings();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy