request请求处理代码
简介:对网络request 请求的测验、调试、处理代码,包含我昼夜不分连续熬夜编写的原创高性能、高集成、高兼容(智能处理)、多功能多选择的request 请求接收处理。除了解析参数外,还可以选择每固定字节后保存一次文件读写缓存还是每遇到换行符读写一次缓存,或者将文件字节存入map中,或者存入map中后显示查看该文件,或者存入map中后保存该文件。相对于开源插件fileupload,我的代码可以直接将文件保存到指定的目录而不是先保存到系统缓存再转移,加上处理代码栈级浅、出入少,使得文件保存速度更快。
介绍:
方法介绍
- RequestUtil类 是我写的request 处理第一个版本,现在用来测验、调试项目。
inputAndShowDefault方法 是接收并显示浏览器发出application/x-www-form-urlencoded 类型请求的方法,该类请求只有表单参数。
inputAndShowData方法 是对multipart/form-data 类型请求的文件上传的普通处理方法,用于以文本方式查看文件。
servletNetInputGet方法 可以将multipart/form-data 类型请求的数据处理打包成map对象,对象可以包含表单参数和文件字节。
- RequestUtil2类 是我对上一个版本的重大升级,可以真正用于项目中的request处理,也可以更方便地用来测验、调试。
servletNetInputExtract方法 可以将request请求中所有参数和文件进行选择性处理,参数将保存到ParamMaps对象中,该对象对同名参数也进行了支持,通过getParameterValues方法 获取同名下所有参数。
该request处理方法允许网页同时上传多个文件,并且文件上传表单可以任意排序。注释中的功能尝试我都已一一实现。
当上传大文件时如果将文件字节保存在对象中,很显然可能会导致内存溢出,所以我用两种方法直接将文件保存在本地:
wirteEachCycle选项 是在每次方法读取指定字节(默认60)后,保存一次文件片段清空缓存,writeEachEnter选项 是在读取流时遇到换行符再进行保存文件片段清空缓存,这两者都可以保存大文件。
putFileByte选项 是将文件字节保存到ParamMaps对象中,putAndShowFile选项 将文件保存到对象的同时显示查看文件内容,包括文本文件和图片,putAndSaveFile选项 是将文件保存本地并将字节放入对象,这3个选项都只适合用于接收小文件。
方法RequestUtil2.fileNewForSave() 由我精心编写,可以完全放心地保存文件,而不会与本地文件重名、冲突、报错。