转:

servlet3.0获取参数与文件上传代码示例

2018年08月26日 20:25:35 苏凯勇往直前 阅读数:98
 
  1. package com.igeek.servlet;
  2.  
  3. import java.io.IOException;
  4. import java.util.Collection;
  5.  
  6. import javax.servlet.ServletException;
  7. import javax.servlet.annotation.MultipartConfig;
  8. import javax.servlet.annotation.WebServlet;
  9. import javax.servlet.http.HttpServlet;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpServletResponse;
  12. import javax.servlet.http.Part;
  13.  
  14. import org.apache.catalina.core.ApplicationPart;
  15.  
  16. /**
  17. * Servlet implementation class AddUserServlet
  18. */
  19. @WebServlet("/addUser")
  20. @MultipartConfig // 该servlet要接收文件上传
  21. public class AddUserServlet extends HttpServlet {
  22. private static final long serialVersionUID = 1L;
  23.  
  24. /**
  25. * @see HttpServlet#HttpServlet()
  26. */
  27. public AddUserServlet() {
  28. super();
  29. // TODO Auto-generated constructor stub
  30. }
  31.  
  32. /**
  33. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  34. */
  35. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  36. //普通请求参数获取
  37. String uname = request.getParameter("uname");
  38. String upass = request.getParameter("upass");
  39. System.out.println("uname="+uname+";upass="+upass);
  40. //获取文件
  41. Collection<Part> parts = request.getParts();
  42. //遍历取出文件
  43. for (Part part : parts) {
  44. System.out.println("-----------------------");
  45. if(part.getHeader("Content-Disposition").contains("filename")){
  46. String fileName = part.getHeader("Content-Disposition");
  47. fileName = fileName.substring(fileName.indexOf("filename=\"")+10, fileName.lastIndexOf("\""));
  48. String name = request.getParameter("head");
  49. System.out.println(name);
  50. //存储文件 利用part的api将临时文件写入目标文件
  51. part.write("d:/"+fileName);
  52. }
  53. System.out.println("-----------------------");
  54. }
  55. }
  56.  
  57. /**
  58. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  59. */
  60. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  61. // TODO Auto-generated method stub
  62. doGet(request, response);
  63. }
  64.  
  65. }

servlet3.0获取参数与文件上传代码示例的更多相关文章

  1. 6.28笔记-servlet3.0注解配置、文件上传、过滤器、监听器

    一.servlet3.0注解配置 使用javaEE6.0 支持servlet3.0 value的值就是访问路径 urlPatterns的值也是访问路径 @WebServlet(name="D ...

  2. 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]

    Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件的 Javascript 组件. This project attempts to achi ...

  3. [Fine Uploader] 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]

    Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件的 Javascript 组件   This project attempts to ach ...

  4. 中文乱码问题(使用Servlet3.0新特性实现文件上传——上传文件名中文乱码问题)

    问题描述:就是文件传送过来的文件名等是乱码 解决方法:将传送的JSP页面(即含有表单的页面)的页面编码方式改为: <%@ page contentType="text/html; ch ...

  5. HttpClient多文件上传代码及普通参数中文乱码问题解决

    该随笔记录了在实际项目中使用HttpClient调用外部api,需上传文件和普通参数的代码. 笔者在使用 HttpClient 调用 http api 接口时,需要服务端上传文件和一些普通参数给 ht ...

  6. ThinkPHP6.0 判断是否有文件上传

    有必要考虑不是post请求或没有指定enctype="multipart/form-data"的情况.如果是post请求还是设置了正确的编码,没有文件上传时 request()-& ...

  7. php文件上传代码解析

    php文件上传代码解析 is_uploaded_file()  //函数判断指定的文件是否是通过 HTTP POST 上传的,返回一个布尔值. $_FILES['upfile']['tmp_name' ...

  8. servlet3.0的文件上传代码配置怎么写

    之前学习过xml配置servlet3.0的文件上传,但是变成code方式一直不知道怎么弄,相比较起来apache的文件上传配置和xml倒是没什么太大区别. 直接上代码:无需依赖,只要一个方法就好了cu ...

  9. 实现Magento多文件上传代码功能开发

    在Magento中上传单个文件很简单,可以直接在继承的Mage_Adminhtml_Block_Widget_Form类中直接添加如下组件Field:  对于图片:   $fieldset->a ...

随机推荐

  1. centos6下ActiveMQ+Zookeeper消息中间件集群部署记录

    由于最近一个项目并发请求压力比较大,所以考虑改进架构,引入消息中间件集群作为一个缓冲消息队列,具体需求:1)将大量的WebService请求报文发送到mq集群之中,并保持消息先后顺序2)保证每个消息的 ...

  2. haproxy反向代理环境部署(http和https代理)

    操作背景:前方有一台haproxy代理机器(115.100.120.57/192.168.1.7),后方两台realserver机器(192.168.1.150.192.168.1.151,没有公网i ...

  3. java注解XML

    用的是jdk自带的javax.xml.bind.JAXBContext将对象和xml字符串进行相互转换. 比较常用的几个: @XmlRootElement:根节点 @XmlAttribute:该属性作 ...

  4. bootmgr is conmpressed联想Z485

    昨天清理磁盘空间的时候,手贱把驱动器给压缩了.再开机的时候就遇到了bootmgr is conmpressed. 我把解决办法发布到百度经验上了 http://jingyan.baidu.com/ar ...

  5. 个人对vuex的表象理解(笔记)

    一个东西,首先要知道为什么用它,为什么要vuex,官方解释为了解决繁杂事件订阅和广播,那么事件的$dispatch,$on,怎么就复杂了?许多人是不是感觉后者还挺简单的,对的 如果简单小型项目,那么不 ...

  6. ASP.NET MVC使用ADO.NET连接数据库

    深入理解ADO.NET友情链接:http://www.cnblogs.com/liuhaorain/category/352388.html 小白手把手:VS2017  SQL Server 2014 ...

  7. Windows Server 2008 双网卡 断网问题 总结

    实施现场的情况,一个网卡接得是聚合APN的子网,一个网卡是借得局域网. 运行一份数据收发程序,从APN网接入数据,发送给局域网,程序启动一会儿后就崩溃,此时测试网卡就Ping网关了,或者是时断时续,逐 ...

  8. ASP.NET MVC4学习笔记

    一.MVC简介

  9. centos 7 修改系统屏幕分辨率

    centos 7 修改系统屏幕分辨率,命令方式和图形方式的修改方法. 命令:xrandr 通过命令 xrandr 修改系统的分辨率,输入xrandr: bash [admin@localhost ~] ...

  10. python之hasattr、getattr和setattr函数

    hasattr函数使用方法 # hasattr函数使用方法 # hasattr(object,attr) # 判断一个对象里是否有某个属性或方法,返回布尔值,有为True,否则False class ...