myeclipse中一个文件上传页面。jsp和servlet的问题。
jsp能正确打开,但是链接到servlet的时候老是报错,很多方法都试过,解决不了。这是我的代码。fileUpload.jsp<html><head><metahttp-...
jsp能正确打开,但是链接到servlet的时候老是报错,很多方法都试过,解决不了。这是我的代码。
fileUpload.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>上传文件</title></head>
<body>
${message}<br>
<form action="/servlet/FileUpload" enctype="multipart/form=data"
method="post" style="height: 194px; ">
<table>
<tr><td>会员号:</td>
<td><input type="text" name="mnumber" size="30"></td>
</tr>
<tr><td>文件名:</td>
<td><input type="file" name="filename" size="30"></td>
</tr>
<tr>
<td align="right"><input type="submit" value="提交"/></td>
<td align="left"><input type="reset" value="重置"/></td>
</tr>
</table></form></body></html>
FileUploadServlet.java
public class FileUploadServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//返回Web应用程序文档根目录
String path=this.getServletContext().getRealPath("/");
String mnumber=request.getParameter("mnumber");
Part p=request.getPart("fileName");
String message="";
if (p.getSize()>1024*1024) {
p.delete();
message="文件太大,不能上传";
}else {
path =path+"\\member\\"+mnumber;
File f=new File(path);
if (!f.exists()) {
f.mkdirs();
}
String h=p.getHeader("content-disposition");
//得到文件名
String fname=h.substring(h.lastIndexOf("\\")+1,h.length()-1);
p.write(path+"\\"+fname);
message="文件上传成功";
}
request.setAttribute("message", message);
RequestDispatcher rd=request.getRequestDispatcher("/fileUpload.jsp");
rd.forward(request, response);
}
}
可能是web.xml中的设置出了问题,如果有经验的可以教教我,多谢了。 展开
fileUpload.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>上传文件</title></head>
<body>
${message}<br>
<form action="/servlet/FileUpload" enctype="multipart/form=data"
method="post" style="height: 194px; ">
<table>
<tr><td>会员号:</td>
<td><input type="text" name="mnumber" size="30"></td>
</tr>
<tr><td>文件名:</td>
<td><input type="file" name="filename" size="30"></td>
</tr>
<tr>
<td align="right"><input type="submit" value="提交"/></td>
<td align="left"><input type="reset" value="重置"/></td>
</tr>
</table></form></body></html>
FileUploadServlet.java
public class FileUploadServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//返回Web应用程序文档根目录
String path=this.getServletContext().getRealPath("/");
String mnumber=request.getParameter("mnumber");
Part p=request.getPart("fileName");
String message="";
if (p.getSize()>1024*1024) {
p.delete();
message="文件太大,不能上传";
}else {
path =path+"\\member\\"+mnumber;
File f=new File(path);
if (!f.exists()) {
f.mkdirs();
}
String h=p.getHeader("content-disposition");
//得到文件名
String fname=h.substring(h.lastIndexOf("\\")+1,h.length()-1);
p.write(path+"\\"+fname);
message="文件上传成功";
}
request.setAttribute("message", message);
RequestDispatcher rd=request.getRequestDispatcher("/fileUpload.jsp");
rd.forward(request, response);
}
}
可能是web.xml中的设置出了问题,如果有经验的可以教教我,多谢了。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询