Servlet文件上传

来源:互联网 发布:游戏美工学历要求 编辑:程序博客网 时间:2024/06/16 12:00

步骤概括:

1.往项目里添加jar包,分别为(commons-fileupload-1.3.2.jar,commons-io-2.5.jar)。

2.设置数据库中的表,数据类型(varchar)或(text),长度弄长点,因为在这里存放的是一个路径(文件的路径)。

3.设置表单,把input设置为file类型,form标签修改属性为enctype="multipart/form-data"(在使用包含文件上传控件的表单时,必须使用该值)。

4.在servlet里写程序。

上传表单,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>上传文件</title></head><body><form method="post" action="/4-26/UploadServlet" enctype="multipart/form-data">选择一个文件:<input type="file" name="uploadFile" /><br/><br/><input type="submit" value="上传" /></form></body></html>

xml配置如下:

<servlet><servlet-name>UploadServlet</servlet-name><servlet-class>4-26.UploadServlet</servlet-class></servlet><servlet-mapping><servlet-name>UploadServlet</servlet-name><url-pattern>/UploadServlet</url-pattern></servlet-mapping>


在UploadServlet类中重写doGet方法:

public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {            //获取文件名    String filename=request.getParameter("name");    //设置Content-Disposition      response.setHeader("Content-Disposition", "attachment;filename="+filename);    //获取要下载的文件绝对路径,我的文件都放到WebRoot/Upload目录下    ServletContext context=this.getServletContext();    String fullFileName=context.getRealPath("/Upload/"+filename);    //输入流为项目文件,输出流指向浏览器    InputStream is=new FileInputStream(fullFileName);    ServletOutputStream os =response.getOutputStream();    //关闭流    is.close();    os.close();    }



               

1 0
原创粉丝点击