packagecom.helloxr.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.HashMap;importjava.util.Map;importjava.util.Map.Entry;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;public class RedirectServlet extendsHttpServlet {private static final long serialVersionUID = 19999999L;
Map map = new HashMap();public voiddestroy() {
map= null;
}public voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {
String filename= request.getParameter("filename");if(filename != null){int hit = map.get(filename); //取下载次数
map.put(filename, ++hit); //下载次数加1后保存
response.sendRedirect(request.getContextPath()+ filename); //重定向到文件
}else{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("");
out.println("
文件下载");out.println("");
out.println("
");out.println("
文件下载");
out.println("
out.println("
");out.println("
文件名");out.println("
下载次数");out.println("
下载");out.println("
");for(Entryentry: map.entrySet()){out.println("
");out.println("
" + entry.getKey() + "");out.println("
" + entry.getValue() + "");out.println("
下载");out.println("
");}
out.println("
");out.println("
");out.println(" ");
out.println("");
out.flush();
out.close();
}
}
@Overridepublic void init() throwsServletException {
map.put("/download/setup.exe", 0);
map.put("/download/application.zip", 0);
map.put("/download/01.mp3", 0);
}
}