
<servlet>
    <servlet-name>autoStartServlet</servlet-name>
    <servlet-class>com.bjsxt.servlet.AutoStartServlet</servlet-class>
    <init-param>
        <param-name>path</param-name>
        <param-value>image</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>autoStartServlet</servlet-name>
    <url-pattern>/auto.do</url-pattern>
</servlet-mapping>
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class AutoStartServlet extends HttpServlet {
    @Override
    public void init(ServletConfig config) throws ServletException {
        ServletConfig servletConfig = this.getServletConfig();
        String value = servletConfig.getInitParameter("path");
        ServletContext servletContext = this.getServletContext();
        servletContext.setAttribute("path",value);
    }
}
package com.bjsxt.servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
public class DemoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext servletContext = this.getServletContext();
        String path = (String) servletContext.getAttribute("path");
        String realPath = servletContext.getRealPath(path+"/zhw.jpg");
        File file =new File(realPath);
        FileInputStream fis=new FileInputStream(file);
        byte[] buff=new byte[fis.available()];
        fis.read(buff);
        resp.addHeader("Context-disposition","attachment;filename="+new String(file.getName().getBytes("gbk"),"iso-8859-1"));
        OutputStream os=resp.getOutputStream();
        os.write(buff);
        os.flush();
        os.close();
    }
}老师我的状态码报错五百。  demo目录下为什么是空啊!  我去了本地文件里看了,里面是有图片的。