1

单击链接后,我正在尝试从服务器下载 excel 文件。我编写了以下 JSP 和 Servlet 代码。JSP 和 Servlet 都在同一个文件夹中。The requested resource (/BulkAccess/Download) is not available单击超链接下载 excel 文件后出现错误“ ”。

JSP 页面

  <body>

  <a href="Download"> Sample Excel File </a>

  </body>

小服务程序

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

@SuppressWarnings("serial")
public class Download extends HttpServlet {
    public void doGet(HttpServletRequest request,HttpServletResponse response)
            throws ServletException, IOException {

        String filename = "C:\\excelFile.xls";


        ServletOutputStream out = response.getOutputStream();
        FileInputStream in = new FileInputStream(filename);

        response.setContentType("application/vnd.ms-excel");
        response.addHeader("content-disposition",
                "attachment; filename=" + filename);

        int octet;
        while((octet = in.read()) != -1)
            out.write(octet);

        in.close();
        out.close();
    }

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

我在 web.xml 中有映射。下面是代码。

<servlet>
<servlet-name>Download</servlet-name>
<servlet-class>com.abc.bulk.Download</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Download</servlet-name>
<url-pattern>/Download</url-pattern>
</servlet-mapping>
4

1 回答 1

0

您似乎在调用 Servlet 时遇到问题。

这应该有效。

 <a href="<%=request.getContextPath() %>/Download"> Sample Excel File </a>   

另外,你提到

JSP 和 Servlet 都在同一个文件夹中

一般来说,JSP 属于/webappor/WebContent和 Servlets 属于/src/mypackage.

与问题无关:使用小写 URL 映射是一种好习惯。

于 2012-11-19T06:05:53.560 回答