普通的表单数据
servlet中的代码
在上传文件时需要在表单属性中加enctype,改成二进制的方法上传数据
此时就不能使用getparameter的方法
可以使用apache的一个上传文件的jar
@WebServlet("/upload") public class UploadServlet extends HttpServlet{ @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //解析和检查请求 ,保证是post和multipart boolean isMultipate = ServletFileUpload.isMultipartContent(request); if (!isMultipate){ return; } // fileitem是对form表单的封装,每个数据是一个fileitem FileItemFactory fileItemFactory=new DiskFileItemFactory(); /** * 创建文件上传处理器 */ ServletFileUpload upload=new ServletFileUpload(fileItemFactory); //解析请求 try { List<FileItem> items=upload.parseRequest(request); System.out.println(items.size()); for (FileItem item:items){ String fileName=item.getFieldName();//获取name值 if(item.isFormField()){ //普通表单控件 String value=item.getString("UTF-8");//获取当前表单控件的参数值 System.out.println(fileName+"-"+value); }else { //上传控件 // item.getName();//拿到上传文件的名称 item.write(new File("d:/",item.getName()));//把二进制数据写进哪一个文件中 } } } catch (Exception e) { e.printStackTrace(); } } }