请问,为啥我的上传后台接收到的信息全是null啊,

这是jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">




































${msg }
上传文件
论文名字
论文作者
作者国籍
所属学科
研究机构




package com.heima.servlet;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.heima.domin.Page;
import com.heima.service.upLoadService;
import com.heima.utils.UUIDUtils;
import com.heima.utils.UploadUtils;

public class uploadServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    doPost(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
       //判断是否是上表单
    if(!ServletFileUpload.isMultipartContent(request)){
        request.setAttribute("msg", "表单错误,请重新上传");
        request.getRequestDispatcher("/view/file.jsp").forward(request, response);
    }
    //判断是上传表单。
    //创建磁盘文件项工厂。
    DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
    //设置缓冲区大小
    diskFileItemFactory.setSizeThreshold(5 * 1024 * 1024);
    //获得临时缓冲区绝对磁盘路径。
    String temp = getServletContext().getRealPath("/temp");
    //当文件超过我指定大小时,文件的存放位置。
    diskFileItemFactory.setRepository(new File(temp));
    //获得文件的核心解析类。
    ServletFileUpload fileUpload = new ServletFileUpload(diskFileItemFactory);
    //设置字符串编码,防止乱码。
    fileUpload.setHeaderEncoding("UTF-8");
    //设置上传的最大值。
    //fileUpload.setFileSizeMax(5 * 1024 * 1024);
    //解析request
    //创建业务层对象。
    upLoadService us = new upLoadService(); 
    //创建page对象
    Page page = new Page();
    try{
        List<FileItem> list = fileUpload.parseRequest(request);
        //判断是否为上传文本项。
        for (FileItem fileItem : list) {
            //判断是普通项
            if(fileItem.isFormField()){
                //获得普通项的名称。
                String name = fileItem.getFieldName();
                //获得普通项的值。
                String value = fileItem.getString("UTF-8");
                if("pagename".equals(name)){
                    page.setPageName(value);
                }else if("author".equals(name)){
                    page.setAuthor(value);
                }else if("nation".equals(name)){
                    page.setNational(value);
                }else if("project".equals(name)){
                    page.setProject(value);
                }else if("university".equals("name")){
                    page.setUniversity(value);
                }
            }else{
                //否则即为上传项
                //获得项目名。
                String filename = fileItem.getName();
                //获得绝对磁盘路径
                String filepath = getServletContext().getRealPath("/load");
                //判断是否为ie6等版本低的浏览器。查找项目名中是否有\,需要将其转义为\\.
                if(filename.indexOf("\\")!=-1){
                    //获得最后一个/的索引
                    int index = filename.lastIndexOf("\\");
                    //截取用户名。
                     filename = filename.substring(index+1);
                }
                //使用UUID处理用户名防止用户名重复而导致的覆盖。
                String RealName = UUIDUtils.getUUIDFileName(filename);
                //使用目录分级工具将上传目录分级
                String upath = UploadUtils.getPath(RealName);
                //获得上传路径
                String path = filepath+upath;
                //创建路径对象。
                File file2 = new File(path);
                //如果文件夹不存在。则创建多级目录
                if(!file2.exists()){
                    file2.mkdirs();
                }
                page.setPageUri(path);
                //传入service中。
                us.service(page);
              //获得文件内容。
             InputStream is = fileItem.getInputStream();
             //获得输出流。
             OutputStream os = new FileOutputStream(page+"\\"+RealName);
             int len = 0;
             byte[] arr = new byte[1024];
             while((len=is.read(arr))!=-1){
                 os.write(arr, 0, len);
             }
             //关流
             is.close();
             os.close();
        }
            //删除临时文件
          fileItem.delete();    
        }
    }catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }
}

}

这时后台



































${msg }
上传文件
论文名字
论文作者
作者国籍
所属学科
研究机构
            这是我的from

"enctype="multipart/form-data

我已经设置了
<