我解决了我的问题。以防有人需要或者有人知道一个更漂亮的方法。
  
  import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FileListServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public FileListServlet() {
        super();
  }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter printWriter = response.getWriter();
        response.setContentType("text/html");
        File currentFolder = new File(".");
        File workingFolder = new File(currentFolder, "Sorted files");
        String root = workingFolder.getAbsolutePath();
        java.io.File dir = new java.io.File(root);
        File[] fileList = dir.listFiles();
        printWriter.println("<H2><FONT COLOR=TEAL>" + "Total number of files in the choosen directory - " +
            fileList.length + "</FONT></H2>");
        printWriter.println("<H3><FONT COLOR=PURPLE>" +
            "Directory path - " + root + "</FONT></H3><HR>");
        printWriter.println("<TABLE BORDER=0 CELLSPACING=5>");
        for(int i = 0; i < fileList.length; i++) {
            printName(fileList[i], printWriter);      
        }
        printWriter.println("</TABLE><HR>");
      }
     private void printName(File file, PrintWriter output)
      {
         System.out.println(file.getName());
        output.println("<tr><td><a href=\"https://Upload/DownloadServlet?name="
                +file.getName()+"\">" + file.getName() + "</a></td></tr>" );
      }
      public String getServletInfo()
      {
        return "This servlet shows a content of a directory" +
               "mentioned in dirToShow parameter or property.";
      }
}
  
   和下载Servlet
  
  import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * Servlet implementation class DownloadServlet
 */
public class DownloadServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    /**
     * @see HttpServlet#HttpServlet()
     */
    public DownloadServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String name = request.getParameter("name");
        String fileType = "multipart/form-data";
        response.setContentType(fileType);
        response.setHeader("Content-disposition", "attachment; filename=" + name);
        File currentFolder = new File(".");
        File workingFolder = new File(currentFolder, "Sorted files");
        String root = workingFolder.getAbsolutePath();
        File file = new File(root + File.separator + name);
        OutputStream output = response.getOutputStream();
        FileInputStream input = new FileInputStream(file);
        byte[] buffer = new byte[4096];
        int lenght;
        while( ( lenght = input.read(buffer) ) > 0 ) {
            output.write(buffer, 0, lenght);
        }
        input.close();
        output.flush();
        output.close();
        response.getOutputStream().flush();
        response.getOutputStream().close();
    }
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }
}