jsp上传文件到服务器
准备
我使用环境是windows10,IDEA。
需要导入两个jar包,commons-io-2.6.jar和commons-fileupload-1.3.3.jar(点击即可下载),下载后解压,找到解压文件夹下的对应的两个jar包,然后复制到自己项目下的 WEB-INF/lib/目录下(也可以放在其他地方),最后导入两个包到项目:
代码
前台jsp代码,注意form表单 action属性值为servlet的url,必须有 enctype="multipart/form-data" ,否则文件传输失败
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>资料</title>
</head>
<body><div class="bigContainer"><div><form action="/ServletUpload" method="post" enctype="multipart/form-data"><input type="file" name="file"><button type="submit">OK</button></form></div></div></body></html>
后台Servlet代码
package Servlet;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;import javax.servlet.ServletException;
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 java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;@WebServlet(name = "ServletUpload",urlPatterns = {"/ServletUpload"})
public class ServletUpload extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {uploadFiles(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {return;}private void uploadFiles(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");//String type=request.getParameter("type");try {// 配置上传参数DiskFileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);// 解析请求的内容提取文件数据@SuppressWarnings("unchecked")List<FileItem> formItems = upload.parseRequest(request);// 迭代表单数据for (FileItem item : formItems) {// 处理不在表单中的字段if (!item.isFormField()) {String fileName = item.getName(); //获取上传的文件名String fileType=fileName.substring(fileName.lastIndexOf(".")+1);//定义上传文件的存放路径String path = request.getServletContext().getRealPath("/upload");//定义上传文件的完整路径fileName= new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()).toString();fileName+="."+fileType; //将文件名字改为时间,避免重名文件String filePath = String.format("%s/%s",path,fileName);File storeFile = new File(filePath);// 在控制台输出文件的上传路径System.out.println(path);System.out.println(filePath);// 保存文件到硬盘item.write(storeFile);}}} catch (FileUploadException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}//下面可以跳转到上传成功后的页面,这里演示就省略了
// request.getRequestDispatcher("/success.jsp").forward(request, response);}}
jsp上传文件到服务器相关推荐
- jsp向服务器上传文件,jsp ftp 上传文件到服务器
jsp ftp 上传文件到服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分 ...
- Android上传文件至服务器(转)
本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为and ...
- C 上传文件到服务器(含接收端源码)
2019独角兽企业重金招聘Python工程师标准>>> 本文demo下载地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail ...
- android 上传文件到服务器
1.编写layout.xml <LinearLayout android:layout_width="match_parent"android:layout_height=& ...
- 利用apache-commons-fileupload写jsp上传文件
利用apache-commons-fileupload写jsp上传文件 需要下载fileupload和beanutils两个包,代码如下. <%@ page language="jav ...
- c winform 上传文件到mysql_WinForm上传文件至服务器
/// /// WebClient上传文件至服务器 /// /// 文件名,全路径格式 /// 服务器文件夹路径 /// public bool Upload(string localFilePath ...
- 上传文件到服务器并显示,J2EE如何实现Servlet上传文件到服务器并相应显示功能...
J2EE如何实现Servlet上传文件到服务器并相应显示功能 发布时间:2021-07-10 11:44:54 来源:亿速云 阅读:82 作者:小新 这篇文章将为大家详细讲解有关J2EE如何实现Ser ...
- linux上传文件到服务器
1.连接服务器 : ssh 用户名@ip地址 例如: unbutu@unbutu-System-Product-Name:~$ ssh root@123.57.235.11 root@123.57.2 ...
- jsch 移动服务器上文件,jsch上传文件到服务器
需求就是上传文件到服务器,服务器的存储地址由程序决定然后可以自动创建. 使用第三方:jsch JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文 ...
最新文章
- 在idea项目中的android包不能识别_项目调试编译和部署运行
- AliCloudDB for redis应用场景之存储最新N条聊天记录
- 英文文献中的一些单词
- decimal 和 numeric (Transact-SQL)
- AIX学习笔记-第一天简介
- textfield获取其中内容_41页内容介绍电气安装工程,详细介绍施工图纸,值得收藏...
- 微服务怎么部署到服务器的_微服务的部署与发布:持续交付与持续部署微服务...
- easyui-treegrid的案例
- android 开发自建wifi热点的默认ip
- php控制表格颜色,php – 表格列的背景颜色
- screenX、clientX、pageX, offsetX的区别
- 内存不能为read或written的解决方案
- 一个Android开发者自学Python的心路历程
- 和平精英服务器响应超时什么意思,和平精英服务器无响应,和平精英服务器超时...
- excel组合汇总_Excel汇总20140414
- 【无标题】STM32F767串口空闲中断+DMA实现不定帧长度的接收
- Android平台上基于OpenGl渲染yuv视频
- soundex mysql,如何使用Doctrine和Symfony 3实现Soundex搜索(在MySql中)
- Unity 通过TextMeshPro创建属于自己的字体库
- 有没有老照片修复软件可以高清修复照片?