基于servlet3.0的文件上传
2016-05-30 11:36
344 查看
jsp页面关键代码
<body>
<form action="uploadServlet" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="提交">
</form>
</body>
处理上传文件的Servlet完整代码
package com.oraclewdp.action;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@MultipartConfig
@WebServlet(name="uploadServlet",urlPatterns="/uploadServlet")
public class uploadServlet extends HttpServlet {
@Override
public void init() throws ServletException {
super.init();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
String savePath=req.getServletContext().getRealPath("\\upload");
Collection<Part> parts=req.getParts();
if(parts.size()==1){
Part part=req.getPart("file");
String header=part.getHeader("Content-Disposition");
String fileName=getFileName(header);
part.write(savePath+"\\"+fileName);
}else{
for (Part part : parts) {
String header=part.getHeader("content-disposition");
String fileName=getFileName(header);
part.write(savePath+"\\"+fileName);
}
}
PrintWriter out=resp.getWriter();
out.println("上传成功");
out.flush();
}
public String getFileName(String header) {
String[] tempArr1=header.split(";");
String[] tempArr2=tempArr1[2].split("=");
String fileName=tempArr2[1].substring(tempArr2[1].lastIndexOf("\\")+1).replaceAll("\"", "");
return fileName;
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.service(req, resp);
}
@Override
public void destroy() {
super.destroy();
}
}
<body>
<form action="uploadServlet" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="提交">
</form>
</body>
处理上传文件的Servlet完整代码
package com.oraclewdp.action;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@MultipartConfig
@WebServlet(name="uploadServlet",urlPatterns="/uploadServlet")
public class uploadServlet extends HttpServlet {
@Override
public void init() throws ServletException {
super.init();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
String savePath=req.getServletContext().getRealPath("\\upload");
Collection<Part> parts=req.getParts();
if(parts.size()==1){
Part part=req.getPart("file");
String header=part.getHeader("Content-Disposition");
String fileName=getFileName(header);
part.write(savePath+"\\"+fileName);
}else{
for (Part part : parts) {
String header=part.getHeader("content-disposition");
String fileName=getFileName(header);
part.write(savePath+"\\"+fileName);
}
}
PrintWriter out=resp.getWriter();
out.println("上传成功");
out.flush();
}
public String getFileName(String header) {
String[] tempArr1=header.split(";");
String[] tempArr2=tempArr1[2].split("=");
String fileName=tempArr2[1].substring(tempArr2[1].lastIndexOf("\\")+1).replaceAll("\"", "");
return fileName;
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.service(req, resp);
}
@Override
public void destroy() {
super.destroy();
}
}
相关文章推荐
- java-WEB中的监听器Lisener
- GUI - Web前端开发框架
- Extjs4.0 最新最全视频教程
- MyEclipse Web Project转Eclipse Dynamic Web Project
- axis备忘
- 创业如何选择WEB开发语言
- Erlang实现的一个Web服务器代码实例
- 防止网页脚本病毒执行的方法-from web
- 自学成才的秘密:115个 web Develop 资源
- 使用批处理修改web打印设置笔记 适用于IE
- Apache Web让JSP“动”起来
- web下载的ActiveX控件自动更新
- 推荐六款WEB上传组件性能测试与比较第1/10页
- 关于三种主流WEB架构的思考
- ASP实现文件上传的方法
- 使用 Iisext.vbs 列出 Web 服务扩展文件的方法
- 使用 Iisext.vbs 删除 Web 服务扩展文件的方法
- 使用 iisext.vbs 禁用 Web 服务扩展的方法
- 用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点