这是上传控制器的代码。用到了 formBackingObject,具体是做什么用的?求高手解释

protected Object formBackingObject(HttpServletRequest request)
throws Exception {
String fileName = ServletRequestUtils.getStringParameter(request,
"fileName");
String tags = ServletRequestUtils.getStringParameter(request, "tags");
MultimediaFile uploadFile = new MultimediaFile();
uploadFile.setFileName(fileName);
uploadFile.setTags(tags);
return uploadFile;} protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception { String fileName = ServletRequestUtils.getStringParameter(request,
"filename", null);
String author = ServletRequestUtils.getStringParameter(request,
"author", "佚名");
int userId = ServletRequestUtils.getIntParameter(request, "userid", -1);
int sortId = ServletRequestUtils.getIntParameter(request, "sortid", -1);
String tags = ServletRequestUtils.getStringParameter(request, "tags",
"");
Sort sort = service.readSortById(sortId); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile orginalFile = (CommonsMultipartFile) multipartRequest
.getFile("uploadfile");// 表单中对应的文件名;
if (orginalFile != null && !orginalFile.isEmpty()) {// 如果有文章中带有附件
InputStream is = null;// 附件输入流
try {
is = orginalFile.getInputStream();
byte[] b = new byte[is.available()];
is.read(b);
String suffix = orginalFile.getOriginalFilename().substring(
orginalFile.getOriginalFilename().lastIndexOf(".") + 1)
.toLowerCase(); fileName = (fileName == null || fileName.trim().length() < 1) ? orginalFile
.getOriginalFilename()
: fileName;
author = (author == null || author.trim().length() < 1) ? "佚名"
: author;
MultimediaFile uploadFile = new MultimediaFile();
uploadFile.setFileName(fileName);
uploadFile.setSortId(sort.getSortId());
uploadFile.setUserId(userId);
uploadFile.setAuthor(author);
uploadFile.setSortName(sort.getSortName());
uploadFile.setTags(tags);
uploadFile.setFilePath(resPath + "/" + sortId + "/");
uploadFile.setSize(b.length);
uploadFile.setSuffix(suffix);
if (service.addFile(uploadFile)) {
uploadFile = service.readFileByName(fileName); FileUtils.writeFile(b, resPath + "/" + sortId + "/",
uploadFile.getId() + "." + suffix); User user = service.readUserById(userId);
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":"
+ request.getServerPort() + path + "/";
if (user.getLevel() == 2) {
response.sendRedirect(basePath
+ "filelist.do?searchtype=3&userid="
+ user.getUserId());
} else {
response.sendRedirect(basePath + "readfiles.do");
} return null; } else {
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":"
+ request.getServerPort() + path + "/";
response.sendRedirect(basePath + "addfile.do?false=1");
return null;
} } catch (IOException exception) {
//exception.printStackTrace();
} finally {
if (is != null) {
//is.close();
} } } return null; } public MainService getService() {
return service;
} public void setService(MainService service) {
this.service = service;
} public String getResPath() {
return resPath;
} public void setResPath(String resPath) {
this.resPath = resPath;
}}