downloadhandler.java

来自「JAVA Servlet2.3外文书籍源码」· Java 代码 · 共 49 行

JAVA
49
字号
package firewall.server;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import firewall.common.*;

//import javax.servlet.http.HttpServlet;
import java.io.*;

/**
 * Title:        DownloadHandler
 * Description:  Subclass of RequestHandler to process downloading of
 *                file requests from the server
 * Copyright:    Copyright (c) 2001
 * Company:
 * @author Andrew Harbourne-Thomas
 * @version 1.0
 */
public class DownloadHandler extends RequestHandler {

  /**
   * Perform the processing and response to the client request
   *
   * @param baseRequest BaseRequest or subclass containing
   *        information relevent to the request
   */
  public void respond(BaseRequest baseRequest) {
    String fileName = ((FileName) baseRequest).getFileName();
    try {
      if (!FileValidator.isFileNameValid(fileName)) {
        sendError(HttpServletResponse.SC_PRECONDITION_FAILED, "Filename is invalid");
        return;
      }
      File fileToRead = new File(fileBase, fileName);

      if (fileToRead.exists()) {
        setStatusCode(HttpServletResponse.SC_OK);
        sendFile(fileToRead);
      }
      else {
        sendError(HttpServletResponse.SC_NOT_FOUND, "File not found");
      }
    }
    catch (IOException e) {
      e.printStackTrace();
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?