在MyEclipse2016 中使用servlet进行文件上传操作,从jsp提交到servlet报404错误

做个好男人! 2017-07-22 05:44:50
问题描述:
在MyEclipse2016 中使用servlet进行文件上传操作,从jsp提交到servlet报404错误。由于MyEclipse2016 在创建servlet时,不会在lib目录下生成web.xml文件,而是在创建的servlet代码中加入了@WebServlet("/所建的servlet名字"),起同等替代作用。我是刚用这个版本,一些操作也摸不请。下面把代码附上,求教大神指定。
jsp页面:
<body>
文件上传
<hr>
<form action="servlets/UploadServlet" method="post" enctype="multipart/form-data">
你选择一个文件进行上传:
<input type="file" name="myFile">
<input type="submit" value="上传">
</form>
${msg}
</body>
servlet:
package servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartUpload;

/**
* Servlet implementation class UploadServlet
*/
@WebServlet("/UploadServlet")
public class UploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public UploadServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);

SmartUpload smartUpload = new SmartUpload();
//初始化
ServletConfig config = this.getServletConfig();
smartUpload.initialize(config,request,response);
try{
//上传文件
smartUpload.upload();
//得到上传的文件对象
com.jspsmart.upload.File smartFile = smartUpload.getFiles

().getFile(0);
//保存文件
smartFile.saveAs("D:/"+smartFile.getFileName

(),smartUpload.SAVE_PHYSICAL); //保存文件
}catch(Exception e){
e.printStackTrace();
}
String msg = "Upload Success";
request.setAttribute("msg", msg);
RequestDispatcher rd = request.getRequestDispatcher("/uploadForm.jsp");
rd.forward(request, response);
}

}
目录结构:


...全文
201 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2017-07-22
  • 打赏
  • 举报
回复
404是路径错误啊 action="servlets/UploadServlet" 你的这个路径不对啊

2,100

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧