基于 spring4 java config(配置)的servlet3 文件上传于下载

来源:互联网 发布:网络被攻击 编辑:程序博客网 时间:2024/05/22 17:01

servlet3 提供内部的上传的支持:

详细自己谷歌@MultipartConfig 或MultipartConfigElement


我个人写的例子:https://github.com/lanmingle/fileupload-servlet3-spring4-demo


在spring中核心实现方式:

核心代码:

@MultipartConfig public class WebMvcDispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

//----------------------------------------------------------------------------------------------------------------------------------public static final String CHARACTER_ENCODING_UTF_8 = "UTF-8";//----------------------------------------------------------------------------------------------------------------------------------private final Logger logger = LoggerFactory.getLogger(getClass());//----------------------------------------------------------------------------------------------------------------------------------public WebMvcDispatcherServletInitializer() {    logger.debug("WebMvcDispatcherServletInitializer instantiation.");}//----------------------------------------------------------------------------------------------------------------------------------@Overrideprotected Class<?>[] getRootConfigClasses() {    logger.debug("getRootConfigClasses.");    return null;}@Overrideprotected Class<?>[] getServletConfigClasses() {    logger.debug("getServletConfigClasses.");    return new Class<?>[]{WebMvcApplicationConfig.class};}@Overrideprotected String[] getServletMappings() {    logger.debug("getServletMappings.");    return new String[]{"/"};}@Overrideprotected void customizeRegistration(ServletRegistration.Dynamic registration) {    logger.debug("customizeRegistration.");    registerMultipartConfig(registration);}@Overrideprotected Filter[] getServletFilters() {    logger.debug("getServletFilters.");    return new Filter[]{characterEncodingFilter(), hiddenHttpMethodFilter(), multipartFilter()};}//----------------------------------------------------------------------------------------------------------------------------------private void registerMultipartConfig(ServletRegistration.Dynamic registration) {    MultipartConfig multipartConfig = getClass().getAnnotation(MultipartConfig.class);    MultipartConfigElement multipartConfigElement = new MultipartConfigElement(multipartConfig);    registration.setMultipartConfig(multipartConfigElement);    logger.debug("registerMultipartConfig multipartConfigElement is :{}", multipartConfigElement);    logger.debug("registerMultipartConfig registration is :{}", registration);}private CharacterEncodingFilter characterEncodingFilter() {    CharacterEncodingFilter filter = new CharacterEncodingFilter();    filter.setForceEncoding(true);    filter.setEncoding(CHARACTER_ENCODING_UTF_8);    logger.debug("characterEncodingFilter filter is :{}", filter);    return filter;}private MultipartFilter multipartFilter() {    MultipartFilter filter = new MultipartFilter();    logger.debug("multipartFilter filter is :{}", filter);    return filter;}private HiddenHttpMethodFilter hiddenHttpMethodFilter() {    HiddenHttpMethodFilter filter = new HiddenHttpMethodFilter();    logger.debug("hiddenHttpMethodFilter filter is :{}", filter);    return filter;}

}


0 0
原创粉丝点击