代码如下:
//delete.java
public class delete extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
String path = request.getParameter("filename");
try
{
File file = new File("f:\\class\\"+path); //删除指定文件
file.delete();
System.out.println("success");
}
catch(Exception e)
{
e.printStackTrace();
}
response.sendRedirect("/servlets-examples/Servlet2");//跳转回Servlet2
}
}//Servlet2.java代码段
...
int i ;
for (i = 0; i < fs.length; i++) {
FileReader fr = new FileReader(fs[i]);
String filename = fs[i].getName(); //得到文件名 out.println("<td width=15% height=24><div align=center class=style1>"+ filename +"</div></td>");
out.println("<td width=30% height=24><div align=center class=style1><a href=delete?filename="+filename+">删除</a></div></td>");
}
...如果把跳转回Servlet2那句注释掉是可以删除的,但需求是要跳转回来的
但加了跳转后发现运行时只有Tomcat新启动才能删除指定文件
(之后点delete可以输出success,但不能删除文件,很奇怪)
不知道何处不对,求教
//delete.java
public class delete extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
String path = request.getParameter("filename");
try
{
File file = new File("f:\\class\\"+path); //删除指定文件
file.delete();
System.out.println("success");
}
catch(Exception e)
{
e.printStackTrace();
}
response.sendRedirect("/servlets-examples/Servlet2");//跳转回Servlet2
}
}//Servlet2.java代码段
...
int i ;
for (i = 0; i < fs.length; i++) {
FileReader fr = new FileReader(fs[i]);
String filename = fs[i].getName(); //得到文件名 out.println("<td width=15% height=24><div align=center class=style1>"+ filename +"</div></td>");
out.println("<td width=30% height=24><div align=center class=style1><a href=delete?filename="+filename+">删除</a></div></td>");
}
...如果把跳转回Servlet2那句注释掉是可以删除的,但需求是要跳转回来的
但加了跳转后发现运行时只有Tomcat新启动才能删除指定文件
(之后点delete可以输出success,但不能删除文件,很奇怪)
不知道何处不对,求教
后也只能在Tomcat新启动才能删除指定文件
File file = new File("f:\\class\\"+path); //删除指定文件
可以删除其它盘文件,是不是很可怕?
路径错误:应为
File file = new File("f:\\class\"+path);
如果不对的话是你的指定文件不存在。