成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Servlet技術(shù)上傳文件

asce1885 / 2624人閱讀

摘要:技術(shù)現(xiàn)在提供開箱即用的上傳文件方法,所以任何實(shí)現(xiàn)規(guī)范的容器都能通過對(duì)象解析請(qǐng)求和生成有效的附件。用來(lái)在處理時(shí)存儲(chǔ)臨時(shí)文件或者是文件大小超過設(shè)置的值。默認(rèn)是允許上傳的最大文件大小,單位是。如果上傳的文件超過限制,容器將拋出異常。

支持文件上傳是web程序最基本和常見的需求。在早期的servlet規(guī)范中,實(shí)現(xiàn)文件上傳需要使用第三方庫(kù)或者復(fù)雜的輸入處理。針對(duì)此問題,servlet現(xiàn)在以通用和可移植的方式幫助提供了一個(gè)可行的解決方案。servlet技術(shù)現(xiàn)在提供開箱即用的上傳文件方法,所以任何實(shí)現(xiàn)規(guī)范的web容器都能通過HttpServletRequest 對(duì)象解析multipart請(qǐng)求和生成有效的mime附件。
一個(gè)新的注解,javax.servlet.annotation.MultipartConfig,用來(lái)表明需要multipart/form-data類型請(qǐng)求的定義上。使用@MultipartConfig注解的servlet都可以通過調(diào)用 request.getPart(String name)或request.getParts()方法獲取一個(gè)給定的multipart/form-data請(qǐng)求中的Part構(gòu)件。

@MultipartConfig注解

@MultipartConfig注解提供下面這些可選的屬性:

location 操作系統(tǒng)上的一個(gè)絕對(duì)路徑。location屬性不支持基于web上下文的相對(duì)路徑。location用來(lái)在處理Part時(shí)存儲(chǔ)臨時(shí)文件或者是文件大小超過fileSizeThreshold設(shè)置的值。默認(rèn)location是“”

fileSizeThreshold 存儲(chǔ)在硬盤上的臨時(shí)文件的大小。默認(rèn)是0byte

MaxFileSize 允許上傳的最大文件大小,單位是byte。如果上傳的文件超過限制,web容器將拋出異常(IllegalStateException)。默認(rèn)設(shè)置是不限制大小。

maxRequestSize 一個(gè) multipart/form-data請(qǐng)求能攜帶的最大字節(jié)數(shù)。

例如,@MultiPartConfig可以如下構(gòu)造:

@MultipartConfig(location="/tmp", fileSizeThreshold=1024*1024,
    maxFileSize=1024*1024*5, maxRequestSize=1024*1024*5*5)

代替使用 @MultipartConfig注解在你的upload servlet中硬編碼這些屬性,需要在web.xml中作為一個(gè)子節(jié)點(diǎn)添加下面的節(jié)點(diǎn):


    /tmp
    20848820
    418018841
    1048576
getParts和getPart方法

servlet規(guī)范定義了HttpServletRequest的兩個(gè)附加方法:

Collection getParts()

Part getPart(String name)

request.getParts()方法返回所有Prat集合。如果你有超過一個(gè)文件類型的輸入,將返回多個(gè)Part對(duì)象。因?yàn)樗蠵art對(duì)象都被命名, getPart(String name)方法用來(lái)訪問特定的Part對(duì)象。另外,getParts()返回Iterable可以用來(lái)遍歷所有Part。
javax.servlet.http.Part是簡(jiǎn)單的,提供每個(gè)Part的自省方法。方法列表:

獲取Part的名稱、大小、類型等

查詢隨Part提交的Header信息

刪除一個(gè)Part

輸出Part到磁盤

例如,Part 接口提供write(String filename) 方法以特定名稱寫入到文件中。文件可以使用@MultipartConfig注解定義的location直接保存,在fileupload示例中,location是由表達(dá)中的屬性定義的。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74230.html

相關(guān)文章

  • Java3y文章目錄導(dǎo)航

    摘要:前言由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 前言 由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 由于更新比較頻繁,因此隔一段時(shí)間才會(huì)更新目錄導(dǎo)航哦~想要獲取最新原創(chuàng)的技術(shù)文章歡迎關(guān)注我的公眾號(hào):Java3y Java3y文章目錄導(dǎo)航 Java基礎(chǔ) 泛型就這么簡(jiǎn)單 注解就這么簡(jiǎn)單 Druid數(shù)據(jù)庫(kù)連接池...

    KevinYan 評(píng)論0 收藏0
  • JAVA EE 6官方教程-17 Java Servlet

    Java Servlet技術(shù)使用請(qǐng)求-響應(yīng)編程模型提供動(dòng)態(tài)的面向用戶的web應(yīng)用程序。 這里將討論一下主題: 什么是Servlet? Servlet的生命周期 信息共享 創(chuàng)建并初始化一個(gè)Servlet 編寫Servlet方法 請(qǐng)求和響應(yīng)過濾器 調(diào)用其他Web資源 訪問Web上下文 維持客戶端狀態(tài) 不可變Servlet(?) 使用Servlet技術(shù)上傳文件 異步請(qǐng)求處理 NIO 協(xié)議升級(jí)處理 m...

    Zoom 評(píng)論0 收藏0
  • Spring之旅第十站:MVC配置、上傳文件、異常處理、跨重定向請(qǐng)求、為控制器添加通知

    摘要:依賴于對(duì)請(qǐng)求的支持。使用解析兼容的沒有構(gòu)造器參數(shù),也沒有要設(shè)置的參數(shù),這樣,在應(yīng)用上下文中,將其聲明為就會(huì)非常簡(jiǎn)單。默認(rèn)是沒有限制的整個(gè)請(qǐng)求的容量。 Spring MVC 高級(jí)的技術(shù) 本章內(nèi)容: Spring MVC配置的替代方案 處理文件上傳 在控制器中處理異常 使用flash屬性 稍等還沒結(jié)束 說明 如果你有幸能看到。后面的章節(jié)暫時(shí)不更新了,改變學(xué)習(xí)方式了。重要理解思想,這本書...

    leanote 評(píng)論0 收藏0
  • 7.2、使用基于 Servlet 3.0 的文件上傳

    摘要:本文示例見這個(gè)項(xiàng)目的分支下的項(xiàng)目這個(gè)項(xiàng)目是為本文單獨(dú)建立的。的內(nèi)置支持用于處理應(yīng)用程序中的文件上傳。提供了一個(gè)的實(shí)現(xiàn),使用了的和一些其他的東西,用于對(duì)的請(qǐng)求的解析。首先,創(chuàng)建一個(gè)帶有的表單,這樣用戶就可以通過這個(gè)表單上傳文件了。 ??本文示例見這個(gè)項(xiàng)目的 upload 分支下的項(xiàng)目(這個(gè)項(xiàng)目是為本文單獨(dú)建立的)。 ??WARNING:本文中有一部分直接把英文原文搬過來(lái)了,我的翻譯能力實(shí)...

    KevinYan 評(píng)論0 收藏0
  • servlet上傳下載

    摘要:一添加項(xiàng)目依賴二上傳上傳文件存儲(chǔ)目錄上傳配置上傳文件最大值檢測(cè)是否為多媒體上傳如果不是則停止表單必須包含配置上傳參數(shù)設(shè)置最大文件上傳值中文處理構(gòu)造臨時(shí)路徑來(lái)存儲(chǔ)上傳的文件這個(gè)路徑相對(duì)當(dāng)前應(yīng)用的目錄如果目錄不存在則創(chuàng)建解析請(qǐng)求的內(nèi)容 一、添加項(xiàng)目依賴(gradle) dependencies { compile group: javax.servlet, name: javax....

    xuweijian 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<