/** **一个示例 **by kammi(coid@sina.com) **本示例演示了如何使用 upload 包中的类进行文件的上载和普通数据的提交。 **本示例会将你的上载的文件存入 PATHSTRING 的目录 **同时将页面 Form 中的字段信息用表格的方式显示出来。 ** **/ import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import upload.*; public class FormUpload extends HttpServlet { static final String PATHSTRING="d:\\tomcat/webapps/examples/servlets/upload/"; static final String URLSTRING="/examples/servlets/upload/"; public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); //这里设定允许上传的文件大小 try{ ContentFactory holder=ContentFactory.getContentFactory(request,(1024*1024*2)); if (holder==null) { //可能不是 multipart/form-data 形式编码,或浏览器不支持 out.println("请确认页面中表单的编码为 multipart/form-data 形式"); out.println("如确认,可能你的浏览器不支持该种编码方式"); doGet(request,response); return; } Enumeration fields=holder.getFileParameterNames(); Enumeration names=holder.getParameterNames(); out.println("\n

Files are

"); out.println("\n \n \n "); out.println(" \n "); while(fields.hasMoreElements()) { String field=(String)fields.nextElement(); FileHolder[] file=holder.getFileParameterValues(field); for (int i=0;i\n \n"); out.println(" "); out.println(" \n "); } } out.println("
字段名Content-Type文件名
"+file[i].getParameterName()+ ""+file[i].getContentType()+""+fileName+"
"); out.println("
"); out.println("

Other Fields

"); out.println("\n \n \n \n "); while(names.hasMoreElements()) { String n=(String)names.nextElement(); String[] values=holder.getParameterValues(n); for(int i=0;i\n \n \n "); } } out.println("
字段名Value
" + n+""+values[i]+"
"); out.println(""); }catch(ContentFactoryException e) { out.println("上载的数据太多"); } } public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); out.println(""); out.println("
"); out.println("

name: "); out.println("
introduce:
"); out.println(" "); out.println("

"); out.println("

"); out.println(" swim "); out.println(" jump "); out.println(" climb "); out.println(" 读书 "); out.println(" 写字
"); out.println("
file1 "); out.println("
file2 "); out.println("
file3 "); out.println("
file4 "); out.println("
file7 "); out.println("

"); out.println(" 数据总量限于2M以内
"); out.println(" "); out.println(" "); out.println("

"); out.println("
"); out.println(""); } }