例:用戶注冊提交一個頭像文件
第一步,創建項目 ,導入jar包
做文件上傳除了要導入spring常規的jar包外,還要導入commons-fifileupload和commons-io這兩個jar包。
第二步,web.xml中聲明spring的核心監聽器 ,spring mvc的前端控制器
第三步,創建spring和spring mvc的主配置文件
第四步,創建包和類
1.創建用戶實體類
2.創建控制器
package com.aaa.springmvc.controller; import com.aaa.springmvc.entity.Users; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.util.UUID; /** * */ @Controller public class UserController { /** * 用戶注冊的請求 * @param user * @return */ @RequestMapping("/register") public String register(Users user, MultipartFile file){ //獲取文件的真實文件名 String trueName = file.getOriginalFilename(); System.out.println("真實文件名:"+trueName); //獲取文件的大小 Long size = file.getSize(); System.out.println("文件大小(字節):"+size); //需要把file文件存儲到本地磁盤上 String DIR = "D:/upload/"; //保存的時候不能保存真實文件名,可以使用一種機制生成唯一的文件名 //UUID類是用來獲取32位的固定長度的隨機字符串,每次獲取到的字符串永遠不會重復。 String saveName = UUID.randomUUID().toString(); //創建要保存的文件 File newFile = new File(DIR+saveName); //把臨時文件file轉儲到newFile上 try { file.transferTo(newFile); } catch (IOException e) { e.printStackTrace(); } user.setTrueName(trueName); user.setSaveName(saveName); System.out.println("用戶名:"+user.getUsername()); System.out.println("密碼:"+user.getPassword()); return "redirect:/login.jsp"; } public static void main(String[] args) { String str = UUID.randomUUID().toString(); System.out.println(str); str = UUID.randomUUID().toString(); System.out.println(str); } }
第五步,掃描控制器的包
第六步,在spring mvc主配置文件中配置上傳文件的解析器

第七步,寫注冊界面

注冊成功之后要跳轉到登錄界面,創建登錄界面。