Jsp 获取多部分表单数据的参数

Jsp 获取多部分表单数据的参数,jsp,servlets,multipartform-data,getparameter,Jsp,Servlets,Multipartform Data,Getparameter,我的.JSP页面如下所示: <form action="/email/save.do" method="post" enctype="multipart/form-data"> <div class="form-group"align="right"> <label for="subject" >: subject</lab

我的.JSP页面如下所示:

<form action="/email/save.do"  method="post" enctype="multipart/form-data">

<div class="form-group"align="right">
    <label for="subject" >: subject</label>
    <input type="text" class="form-control" name="subject" id="subject">
</div>

<div class="form-group" align="right">
    <label for="uploadFile">: upload file </label>
    <input type="file" class="form-control " name="uploadFile" id="uploadFile">
</div>

<button type="submit" class="btn btn-success btn-block" name="submit">save 

</button>
</form>  
这是我用于此表单的Servlet:

@WebServlet("/email/save.do")

public class EmailSave extends HttpServlet {
   @Override
   protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    Email email = new Email();
    try {
        UploaderUtils uploader = new UploaderUtils(req, "uploadFile", "C:\\ROOT\\UPLOAD", 10000000l, false);
        uploader.save();
        email.setFileAddress("C:\\ROOT\\UPLOAD\\" + uploader.getFileName());
    } catch (Exception e) {
        e.printStackTrace();
    }
    email.setDateTime(new Timestamp(System.currentTimeMillis()));

    email.setSubject(req.getParameter("subject"));

    try {
        EmailService.getInstance().save(email);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
首先我可以把上传的文件保存在上面提到的目录中,到目前为止还不错

主要问题是,我无法通过
EmailSave
类中的
req.getparameter()
方法获取表单传递的任何其他参数。我实际上有它们,但是有空值

我尝试了很多解决方案,但都不管用。其中一个解决方案提到,您可以使用
multipasser
而不是
multiRequest
,但我不知道如何做到这一点,如果这是答案,请解释如何做到这一点

@WebServlet("/email/save.do")

public class EmailSave extends HttpServlet {
   @Override
   protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    Email email = new Email();
    try {
        UploaderUtils uploader = new UploaderUtils(req, "uploadFile", "C:\\ROOT\\UPLOAD", 10000000l, false);
        uploader.save();
        email.setFileAddress("C:\\ROOT\\UPLOAD\\" + uploader.getFileName());
    } catch (Exception e) {
        e.printStackTrace();
    }
    email.setDateTime(new Timestamp(System.currentTimeMillis()));

    email.setSubject(req.getParameter("subject"));

    try {
        EmailService.getInstance().save(email);
    } catch (Exception e) {
        e.printStackTrace();
    }
}