如果我想删除welcome.html文件如何删除它使用http doDelete()方法如何做到这一点我是java的新手所以请帮助我
public void doDelete(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean success = false;
File file = null;
try {
file = searchFile(request);
} catch (Exception ex) {
java.util.logging.Logger.getLogger(Request.class.getName()).
log(java.util.logging.Level.SEVERE, null, ex);
}
if (!file.exists()) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
} else {
success = file.delete(); // actual delete operation
}
if (success) {
response.setStatus(HttpServletResponse.SC_NO_CONTENT);
}
}
private String searchFile(HttpServletRequest req) throws Exception {
String fileName = req.getPathInfo();
fileName = fileName.substring(1);
return fileName;
}
Run Code Online (Sandbox Code Playgroud)
在我们等待为您讲解如何代码"不工作" ......我要指出的是,如果这个代码所做的工作,那将是非常危险的.
您的代码不会尝试检查是否应允许用户(即发送请求的人)删除该文件,或者用户尝试删除的内容.如果有些坏人发送了带有".."的DELETE请求,他们可能会欺骗你的网络服务器试图删除文件系统中的任何文件! (希望您永远不会将您的Web服务器作为"root"运行...)
更新:你的问题的答案很简单.更改
file = searchFile(request);
Run Code Online (Sandbox Code Playgroud)
至
file = new File(searchFile(request));
Run Code Online (Sandbox Code Playgroud)
但这是你遇到的最少的问题!