博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单例模式和文件上传
阅读量:6433 次
发布时间:2019-06-23

本文共 2544 字,大约阅读时间需要 8 分钟。

单例模式

  

//读取配置文件的工具类-单例模式public class ConfigManager {    private static Properties properties;    private static ConfigManager configManager;    // 私有构造器-读取数据库配置文件    private ConfigManager() {        properties = new Properties();        String configFile = "database.properties";        InputStream is = ConfigManager.class.getClassLoader()                .getResourceAsStream(configFile);        try {            properties.load(is);            is.close();        } catch (IOException e) {            e.printStackTrace();        }    }    // 全局访问点    public static ConfigManager getInstance() {        if (configManager == null) {            configManager = new ConfigManager();        }        return configManager;    }    public String getValue(String key) {        return properties.getProperty(key);    }}

 懒汉模式

  

 饿汉模式

  

  

Spring MVC-Controller的单例管理

  


 

文件上传

 单文件上传

  

  

  

  

@RequestMapping(value = "/useradd.do")    public String addUser(            User user,            @RequestParam(value = "a_idPicPath", required = false) MultipartFile file,            HttpSession session, HttpServletRequest request) {        String idPicPath = null;        // 判断文件是否为空        if (!file.isEmpty()) {            // 定义目标上传路径            String path = request.getSession().getServletContext() .getRealPath("statics" + File.separator + "uploadfiles"); String oldFileName = file.getOriginalFilename(); String suffix = FilenameUtils.getExtension(oldFileName); int filesize = 500000; if (file.getSize() > filesize) { request.setAttribute("uploadFileError", "* 上传大小不得超过500K"); return "useradd"; } else if (suffix.equalsIgnoreCase("jpg") || suffix.equalsIgnoreCase("jpeg") || suffix.equalsIgnoreCase("png") || suffix.equalsIgnoreCase("pneg")) { // 当前系统时间+随机数+"_Personal.jpg" String fileName = System.currentTimeMillis() + RandomUtils.nextInt(1000000) + "_Personal.jpg"; File targetFile = new File(path, fileName); if (!targetFile.exists()) { targetFile.mkdirs(); } try { file.transferTo(targetFile); } catch (Exception e) { e.printStackTrace(); request.setAttribute("uploadFileError", "* 上传失败"); return "useradd"; } idPicPath = path + File.separator + fileName; } else { request.setAttribute("uploadFileError", "* 上传图片格式不正确"); return "useradd"; } } user.setCreatedBy(((User) session.getAttribute(Constants.USER_SESSION)) .getId()); user.setCreationDate(new Date()); user.setIdPicPath(idPicPath); if (userService.add(user)) { return "redirect:/user/userlist.do"; } return "useradd"; }

 多文件上传

  

  

  

 

转载于:https://www.cnblogs.com/xhddbky/p/9456132.html

你可能感兴趣的文章
mybatis中的#和$的区别
查看>>
ubuntu下搭建NDK环境
查看>>
MessageDigest简单介绍
查看>>
webpack window 使用sass来编译css样式
查看>>
D3 & Data Visualization in Ext JS
查看>>
java通过UUID生成16位唯一订单号
查看>>
001-web基本程序搭建
查看>>
函数指针和指针函数
查看>>
借力AI 极验如何构建下一代业务安全?
查看>>
用Python制作迷宫GIF
查看>>
支付宝推出基于区块链跨境支付,巨头入场小企业将面临灭顶之灾
查看>>
从事互联网行业,怎样才能快速掌握一门编程语言呢?
查看>>
深入浅出换肤相关技术以及如何实现
查看>>
Redis 基础、高级特性与性能调优
查看>>
React native 第三方组件 React native swiper
查看>>
接口幂等设计
查看>>
编程入门指南
查看>>
移动端的自适应方案—REM
查看>>
你真的懂volatile吗
查看>>
Android 编译时注解-提升
查看>>