- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 Servlet程序开发
2.6 用servlet读写文件 2.6.1 上传文件 HttpServletRequest 提供的两个新方法如下所示,它们用于从请求中解析出上传的文件: Part getPart(String name) CollectionPart getParts() 前者用于获取请求中给定 name 的文件,后者用于获取所有的文件。每一个文件用一个 javax.servlet.http.Part 对象来表示。该接口提供了处理文件的简易方法,比如 write()、delete() 等。结合 HttpServletRequest 和 Part 来保存上传的文件变得非常简单,如下所示: Part file = request.getPart(file); file.write(filename); 需要注意的是,如果请求的 MIME 类型不是 multipart/form-data,则不能使用上面的两个方法,否则将抛异常。 界面文件中,文件上传部分代码 form action = /ServletTrain/UpLoad method=post“ enctype=multipart/form-data target=workspace input type=file name=file input type=submit name=upload value=文件上传 /form Servlet中,文件上传部分代码 2.6 用servlet读写文件 2.6.1 下载文件 Servlet类也可以用来响应客户端的文件下载请求。Servlet实现文件下载是通过对响应对象response的操作来完成的。 首先需要在response中对需要下载的文件类型、头信息、文件长度等信息进行设置。 然后读取服务器上文件的内容并写入到response的输出流中。 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { String filepath = /WEB-INF/web.xml;//服务器上文件的相对路径 //服务器上文件的绝对路径 String fullFilePath = getServletContext().getRealPath(filepath); File file = new File(fullFilePath);//打开文件,创建文件对象 if (file.exists()) {//如果文件存在 //获得文件名,并采用UTF-8编码方式进行编码,以解决中文问题 String filename = URLEncoder.encode(file.getName(),UTF-8); response.reset();//重置response对象 //设置文件的类型,xml文件采用text/xml类型,详见MIME类型说明 response.setContentType(text/xml); //设置HTTP头信息中内容 response.addHeader(Content-Disposition, attachment; filename=\ + filename + \); int fileLength = (int) file.length();//设置文件长度 response.setContentLength(fileLength); if (fileLength != 0) {//如果文件长度大于0 InputStream inStream = new FileInputStream(file);//创建输入流 byte[] buf = new byte[4096]; //创建输出流 ServletOutputStream servletOS = response.getOutputStream(); int readLength
您可能关注的文档
- 第1章 MATLAB简介与工作环境.ppt
- 第18章 Windows对等网及Internet连接.ppt
- 第1章 电工仪表与测量.的基本知识.ppt
- 3Dmax第01章.ppt
- 第1章 Java语言及编程环境.ppt
- 第1章 数字电视技术基础1.ppt
- 第1、2课 电气时代的到来.ppt
- 第1章 电子书刊基础知识.ppt
- 3D5S和七大浪费.ppt
- 3dmax灯光和摄影机.ppt
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
最近下载
- 区域教育协同治理策略研究.pptx
- 橙色3D风铁人三项PPT模板.pptx
- 领航大学英语:综合教程_第1册(董金伟)U1习题答案.pdf
- 米家米家无雾加湿器 3「400」使用说明书.pdf
- 教科版六年级科学上册全册必背知识点知识清单.pdf
- 2023年西安理工大学高科学院计算机科学与技术专业《计算机网络》科目期末试卷A(有答案).docx VIP
- 基恩士FS-N18N放大器常用调试说明书.docx VIP
- 军事理论(中北大学)超星尔雅学习通网课章节测试答案.docx
- 园林工具链锯产品要求.xls VIP
- 2023年西安理工大学高科学院计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
文档评论(0)