When I attempt to call request.getParameter() and request.getPart() within my servlet, everything is coming back as null.
I'm using Java JDK 8 and Apache Tomcat 8.5.15. I have a JSP page with a form that submits both text input data and one single file type input. I'm POSTing the data using multipart/form-data encryption.
JSP Snippet
<form id="blogForm" class="form-horizontal" method="POST" action="/InTheMidst/CreateNewBlog" enctype="multipart/form-data">
  <div class="form-group">
    <label class="control-label" for="titleInput">Title:</label>
    <input type="text" name="titleInput" class="form-control" maxlength="255" placeholder="Enter title..." required>
  </div>
  <div class="form-group">
    <label class="control-label" for="dateInput">Date:</label>
    <input type="date" name="dateInput" class="form-control" maxlength="8" placeholder="Select date..." required>
  </div>
  <div class="form-group">
    <label class="control-label" for="authorInput">Author:</label>
    <input type="text" name="authorInput" class="form-control" maxlength="150" placeholder="Enter author..." required>
  </div>
  <div class="form-group">
    <label class="control-label" for="contentInput">Content:</label>
    <textarea name="contentInput" class="form-control" maxlength="65000" required></textarea>
  </div>
  <div class="form-group">
    <label class="control-label" for="fileInput">Image:</label><br>
    <input type="file" name="fileInput" class="form-control">
  </div>
  <div class="form-group">
    <button type="button" class="btn btn-success" onclick="document.getElementById('blogForm').submit();"><span class="glyphicon glyphicon-floppy-disk"></span> Create</button>
     
    <a href="../dashboard.jsp" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Cancel</a>
  </div>
</form>
Web Servlet
@MultipartConfig(location = "/InTheMidst/upload/image")
public class CreateNewBlog extends HttpServlet {
/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    // Create an object to store input
    Blog blog = new Blog();
    // Store request
    blog.setBlogId(Blog.createNewId());
    blog.setTitle(request.getParameter("titleInput"));
blog.setDate(GeneralView.dateFromViewToData(request.getParameter("dateInput")));
    blog.setAuthor(request.getParameter("authorInput"));
    blog.setContent(request.getParameter("contentInput"));
    // Get the image upload
    Part inputFile = request.getPart("fileInput");
    String filename = Paths.get(inputFile.getSubmittedFileName()).getFileName().toString();
    String extension = filename.split(".")[1];
    blog.setImagePath("/InTheMidst/upload/image/" + blog.getBlogId() + extension);
    // Write the file
    inputFile.write(blog.getBlogId() + "." + extension);
    // Create a controller to interact with the database
    BlogController controller = new BlogController();
    // Persist account
    boolean success = controller.insertBlog(blog);
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
 * Handles the HTTP <code>GET</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}
/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}
/**
 * Returns a short description of the servlet.
 *
 * @return a String containing servlet description
 */
@Override
public String getServletInfo() {
    return "Short description";
}// </editor-fold>
}
 
     
    