form表单多文件上传

1.html/jsp主页

<%@ 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>Insert title here</title>
<%String path=request.getContextPath();request.setAttribute("path", path);
%>
</head>
<body>
<form action="${path}/MultiUp"  method="post" enctype="multipart/form-data"><table><tr><td>上传文件</td><td> <input type="file" name="fileN1" /></td></tr><tr><td>上传文件</td><td> <input type="file" name="fileN2" /></td></tr><tr><td>上传文件</td><td> <input type="file" name="fileN3" /></td></tr><tr><td colspan="2"><input type="submit" /><input type="reset" /></td></tr></table></form>
</body>
</html>
duoUp.jsp


2.过滤器解决编码问题

package com.ser;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Filter01 implements Filter
{@Overridepublic void destroy(){}@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException{HttpServletRequest request= (HttpServletRequest)arg0;HttpServletResponse response=(HttpServletResponse)arg1;request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");response.setContentType("text/html charset=utf-8");//System.out.println(">>>>>>>>>>>>");
        arg2.doFilter(request, response);}@Overridepublic void init(FilterConfig arg0) throws ServletException{}}
Filter01.java


3.多文件上传服务器处理

package multiup;import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;import javax.servlet.ServletConfig;
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;import org.apache.commons.collections.CollectionUtils;/*** Servlet implementation class MultiUp*/
@WebServlet("/MultiUp")
@MultipartConfig(location="e://uploadFile",fileSizeThreshold=1024*1024*10,maxFileSize=1024*1024*200,maxRequestSize=1024*1024*300)
public class MultiUp extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public MultiUp() {}@Overridepublic void init(ServletConfig config) throws ServletException{File file = new File("e://uploadFile");if(!file.exists()&&!file.isDirectory()){file.mkdir();}}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Collection<Part> parts= request.getParts();StringBuffer sb=new StringBuffer();if(!CollectionUtils.isEmpty(parts)){for(Part part:parts){String header=part.getHeader("content-disposition");String filename= header.substring(header.indexOf("filename")+10,header.lastIndexOf("\""));part.write(filename);sb=sb.append(filename).append(",");}}String str =sb.toString().substring(0,sb.toString().length()-1);response.getWriter().print(str+"上传成功!");}}
MultiUp.java

 

转载于:https://www.cnblogs.com/waarp/p/7281580.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3.7.1使用_使用python3和pytorch1.7.1运行dface

0 准备工作运行环境&#xff1a;Alienware GTX1070Ubuntu 18.04cuda 10.1创建虚拟环境&#xff1a;conda create -n py37_dface python3.7conda activate py37_dfacepip install torch1.7.1cu101 torchvision0.8.2cu101 torchaudio0.7.2 -f https://download.pytorch.org/whl/t…

新书预告

新书预告依2009年版考试大纲 重编的《网络工程师考试考前冲刺预测卷及考点解析&#xff08;第2版&#xff0c;含2008年下半年试题解析&#xff09;》、《软件设计师考试考前冲刺预测卷及考点解析&#xff08;第2版&#xff09;》&#xff0c;试题更新率可达80%以上&#xff0c;…

JS学习记录(BOM部分)

BOOM部分 Screen <html lang"en"> <head><meta charset"UTF-8"><title>Screen</title> </head> <body></body> <script>console.log(screen.width);console.log(screen.height);console.log(screen…

Java中JFrame怎样控制闪烁_在JFrame Java中闪烁

大家好,我正在做一个线程来更新JFrame上的球,所以我重新绘制屏幕…然后将球更新到它的位置……然后再次绘制屏幕……画出球和同样的周期……这是代码private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {Thread t new Thread(){public void run(){while(t…

基于Linux的虚拟主机搭建

为了建设二级网站建设&#xff0c;我考察了多个开源和商业的虚拟主机和控制面板。主要察看了Linux下的。很多工具&#xff0c;例如开源的VHCS&#xff0c;商业的Plesk功能虽然十分强大&#xff0c;但他们的主要服务对象是商业虚拟主机客户&#xff0c;和我们的集中管理模式不太…

在linux上安装jdk(转载)

软件环境&#xff1a; 虚拟机&#xff1a;VMware Workstation 10 操作系统&#xff1a;Ubuntu-12.04-desktop-amd64 JAVA版本&#xff1a;jdk-7u55-linux-x64 软件下载地址&#xff1a; JDK&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/index.html &a…

cryptico.js java解密_從Cryptico.js中提取RSA私鑰

我相信這是一個非常基本的問題&#xff0c;但我開始使用JavaScript和RSA進行研究&#xff0c;所以我有點失落。我剛剛下載了Cryptico庫&#xff0c;它爲我提供了一個易於使用的RSA密鑰生成/加密/解密。從Cryptico.js中提取RSA私鑰publicKeyString(RsaKey)哪個&#xff1a;my.pu…

WebService大讲堂之Axis2(1):用POJO实现0配置的WebService

Axis2是一套崭新的WebService引擎&#xff0c;该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2&#xff0c;还集成了非常流行的REST WebService&#xff0c;同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开…

Unity中UGUI之Canvas属性解读版本二

Canvas Render Modes(渲染模式) 1.在screen空间中渲染2.在world空间中渲染 Screen Space-Overlay 在这个渲染模式中&#xff0c;UI元素将在场景的上面。如果场景改变大小或改变分辨率&#xff0c;Canvas将自动改变大小去适配。 Screen Space-Camera 这和Screen Space-Overlay类…

docker 搭建nginx php mysql_Docker搭建PHP/Nginx/MySQL/Composer环境

一、安装PHP&#xff1a;#PHP镜像docker pull php:7.2-fpm#PHP容器&#xff0c;监听9000端口&#xff0c;映射主机项目目录/data/wwwdocker run --name php -d -p 9000:9000 -v /data/www:/www php:7.2-fpm二、安装Nginxdocker pull nginxdocker run --name php-nginx -d -p 80…

红帽企业linux4参考指南读书笔记-GRUB引导器

一个引导加载器通常存在于系统的主硬盘驱动器中&#xff0c;通过它来加载linux内核跟一些需要的文件或其它操作系统到系统内存中。在各种系统架构上运行RedHat企业Linux系统会使用不同的引导加载器&#xff0c;一般在X86系统架构和AMD、AMD64系统架构中使用GRUB引导器&#xff…

内容拾遗之字符串与数据结构

一、整数 如&#xff1a; 18、73、84 每一个整数都具备如下功能&#xff1a; 浅copy >>> dict {"a":("apple",),"bo":{"b":"banna","o":"orange"},"g":["grape","g…

int size java_int size()

int size()描述 (Description)size()方法用于获取此哈希表中的键数。声明 (Declaration)以下是java.util.Hashtable.size()方法的声明。public int size()参数 (Parameters)NA返回值 (Return Value)方法调用返回此哈希表中的键数。异常 (Exception)NA例子 (Example)以下示例显示…

智能化建筑

智能化建筑&#xff08;2009-1-7&#xff09;现在的建筑都朝着智能化发展&#xff0c;作为工程师更应该走在社会脚步发展的前面。智能化楼宇自动化&#xff08;BA&#xff09;通讯自动化 &#xff08;CA&#xff09;办公自动化 &#xff08;OA&am…

java 新区 老区_优学院《土地资源学》答案在线查题2020高校邦《Java核心开发技术【实境编程】》章测试答案...

优学院《土地资源学》答案在线查题2020高校邦《Java核心开发技术【实境编程】》章测试答案更多相关问题[问答题] 老区的汽油分馏塔(DA&#xff0d;101)原设计结构如何&#xff1f;[问答题] SRT&#xff0d;I型炉与SRT&#xff0d;I改进型炉(乙烷炉)的烧焦过程有何不同&#xff…

用subline添加单引号和逗号,在sql中使用

subline Sublime编辑器批量在行首或者行尾添加字符串的方法&#xff1a; 1、选中要操作的行&#xff0c;全选就按CtrlA&#xff1b; 2、使用快捷键CtrlShiftL&#xff0c;进入待操作状态&#xff1b; 3、使用左右方向键&#xff08;←或者→&#xff09;&#xff0c;批量操作…