原文地址:https://blog.csdn.net/niceliusir/article/details/78453560

以下是jsp+servlet和SSM分别是如何实现文件上传的方法示例

两种模式的upload.jsp文件都一样,(注意要加上enctype=”multipart/form-data”)如下:

<%@ 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> </head> <body> <form action="指定控制器" method="post" enctype="multipart/form-data"> <table> <tr> <td>用户名:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>文件:</td> <td><input type="file" name="uploadfile"></td> </tr> <tr> <td></td> <td><input type="submit" name="upload" value="上传"></td> </tr> </table> </form> </body> </html>

传统的jsp+servlet开发实现上传
UploadServlet.java中的doPost()如下:

/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;chartset=utf-8"); request.setCharacterEncoding("utf-8"); // 上传的用户名 String value = null; // 上传的文件名 String fileName = null; // 上传的目标路径 String filePath = request.getSession().getServletContext().getRealPath("/upload"); // 1.判断表单上传的编码方式 if(ServletFileUpload.isMultipartContent(request)){ // 2.创建fileItem工厂 FileItemFactory factory = new DiskFileItemFactory(); // 3.创建上传解析对象 ServletFileUpload sfu = new ServletFileUpload(factory); // 4.解析上传的表单 List<FileItem> fileItemList = null; try { fileItemList = sfu.parseRequest(request); } catch (FileUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } for(FileItem f : fileItemList){ if(f.isFormField()){// 普通表单元素 String name = f.getFieldName(); if(name.equals("username")){ value = f.getString("utf-8"); } }else{// 文件 fileName = f.getName(); File file = new File(filePath + "/" + fileName); try { f.write(file); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } response.getWriter().print(value + "上传了" + fileName + "已成功!"); } } } }

SSM框架主要是spring MVC处理器对上传组件进行了封装,使得代码简化了很多
处理器中的处理上传文件的方法如下:

/**
* 文件上传*TODO*LIU* @param request* @param response* @return*上午10:34:15*/
@RequestMapping("uploadFile.action") public ModelAndView uploadFile(@RequestParam("uploadfile") CommonsMultipartFile cmf, HttpServletRequest request) throws Exception{ // 接收普通的用户名的话,用参数request来接收 String uname = request.getParameter("uname"); String path = "F:\\upload\\" + cmf.getOriginalFilename(); File file = new File(path); cmf.transferTo(file); mav = new ModelAndView("uploadResult.jsp"); String mess = cmf.getOriginalFilename() + "上传成功了!"; mav.addObject("mess", mess); mav.addObject("uname", uname); return mav; }

转载于:https://www.cnblogs.com/dirgo/p/9266733.html

【转】jsp+servlet和SSM分别是如何实现文件上传(示例)相关推荐

  1. jsp servlet示例_Servlet和JSP中的文件上传示例

    jsp servlet示例 使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和 ...

  2. Servlet和JSP中的文件上传示例

    使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和HTTP协议中文件上传支持的 ...

  3. 在Servlet中使用开源fileupload包实现文件上传功能

    当我们在 HTML 表单中选择本地文件之后点击"提交"按钮则会将文件上传到服务器中,此时该 HTTP 请求正文的数据类型就是 multipart/form-data 型的.而在 S ...

  4. 如何使用Servlet,JSP和MySQL将文件上传到数据库

    本教程显示了如何实现Java Web应用程序(使用Servlet和JSP),该Java Web应用程序将文件上传到服务器并将文件保存到数据库. 该应用程序采用以下技术: Servlet 3.0+:从S ...

  5. ssm java上传图片预览_ssm文件上传_上传图片

    1.搭建好ssm框架 2.导入文件上传所需依赖 commons-fileupload commons-fileupload 1.4 commons-io commons-io 2.6 commons- ...

  6. 基于华为云obs实现文件上传下载(技术栈mysql+springboot+Maven+jsp+java)的技术分享

    基于华为云obs实现文件上传下载(技术栈mysql+springboot+jsp+java)的技术分享 obs实现文件上传下载 前言 一.OBS是什么? 二.使用步骤 1.1 前期准备 2 工具的内容 ...

  7. jsp文件上传 头像上传

    前言: 这篇文章简单介绍了文件上传的代码和我遇到的一些问题以及基于我实现的头像上传(不包含框架,仅仅达到目标即可) 一.整体效果: (1)头像显示 (2)文件上传 (3)完成头像修改 (4)查看文件目 ...

  8. servlet文件上传及下载

    servlet3.0中提供了对文件上传的直接支持,不需要借助任何第三方上传组件,直接使用Servlet3.0提供的API就能够实现文件上传功能. servlet 代码: package ni.jun. ...

  9. jsp 如何上传文件到服务器上,如何使用JSP / Servlet将文件上传到服务器?

    问题: How can I upload files to server using JSP/Servlet? 如何使用JSP / Servlet将文件上传到服务器? I tried this: 我尝 ...

最新文章

  1. 【Android 逆向】获取安装在手机中的应用的 APK 包 ( 进入 adb shell | 获取 root 权限 | 进入 /data/app/ 目录 | 拷贝 base.apk 到外置存储 )
  2. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”
  3. leetcode1090. 受标签影响的最大值(贪心算法)
  4. python书籍_Python书籍大汇总——入门到实战
  5. C++ 连接Mongo数据库实现增删改差
  6. javaweb中服务器启动所执行的程序
  7. 利用Caffe训练模型(solver、deploy、train_val)+python使用已训练模型
  8. 大二上学期软件工程概论学习进度表(第十一周)
  9. nekohtml 用法
  10. Spring Boot 接入 Dubbo 指导文档
  11. DOA算法3:Matrix Pencil
  12. VS2017下搭建OPEN CASCADE
  13. 《波西亚时光》为配音员未付薪金提供补偿
  14. Nanopore测序技术
  15. 基于51单片机 + ds12c887 + ds18b20 + lcd1602的时钟温度显示器(带闹钟功能)
  16. 管中窥豹,深入总部调研苏宁易购研发
  17. java image转换icon_内存转换Image到Icon
  18. MongoDB安装(新版本保姆级教程)
  19. 【智能路由器】离线缓存投毒实现分析
  20. 使用k-d树进行无序点云去噪

热门文章

  1. Python的内建属性和内建函数
  2. gridview获取当前行索引的方法
  3. ExtJs2.0学习系列(12)--Ext.TreePanel之第一式
  4. 【opencv学习】【Canny边缘检测】
  5. 每天进步一点点《ML - 高斯混合模型》
  6. 基于光强的角点检测(SUSAN角点检测、FAST角点检测、FAST-ER角点检测)
  7. leetcode —— 866. 回文素数
  8. Java操作数据库详解
  9. extend()与append()的区别
  10. 计算机视觉基础---图像处理(几何变换)cpp+python