當前位置:首頁 » 文件管理 » j2ee文件上傳

j2ee文件上傳

發布時間: 2024-07-19 17:07:07

① 使用struts2如何實現文件上傳

  1. 新建Web Project,在WebRoot下新建upload文件夾

  2. 在WebRoot下新建upload.jsp,上傳界面

  3. 編寫上傳成功、失敗的提示界面。

  4. 在WebRoot下新建uploadError.jsp

  5. 在WebRoot下新建uploadSuccess.jsp

  6. 編寫Action類

  7. 配置struts.xml文件,重置fileUpload攔截器。

  8. 測試,測試完成之後在tomcat下面webapps目錄下找到項目對應的文件夾下的upload下查看

② 如何用java實現載入一個文件

有2個, 都很簡單.
jspSmartUpload 你在google搜索一下就有了.
還有 STRUTS 的 commons-fileupload. 用法都有的.

不過 jspSmartUpload 存在中文路徑會解析不了的情況, 下載jar包的時候注意一下, 下載一個可以支持UTF8的jar包.

③ J2EE中怎麼實現上傳和下載

試試,項目引入commons-fileupload-1.2.jar
====================================================
// 新建一個SmartUpload對象
SmartUpload su = new SmartUpload();
// 上傳初始化
su.initialize(pageContext);
// 設定上傳限制
// 1.限制每個上傳文件的最大長度。
//su.setMaxFileSize(1024*1024);
// 2.限制總上傳數據的長度。
//su.setTotalMaxFileSize(5*1024*1024);
// 3.設定允許上傳的文件(通過擴展名限制),僅允許doc,txt文件。
su.setAllowedFilesList("xls,XLS,xlsx,XLSX,doc,DOC,docx,DOCX,ppt,PPT,pdf,PDF,gif,GIF,jpg,JPG,pptx,PPTX,txt,TXT");
// 4.設定禁止上傳的文件(通過擴展名限制),禁止上傳帶有exe,bat,jsp,htm,html擴展名的文件和沒有擴展名的文件。
//su.setDeniedFilesList("exe,bat,jsp,htm,html,txt");
// 上傳文件
su.upload();
com.jspsmart.upload.File files = su.getFiles().getFile(0);//獲得需要上傳的file,form表單中的file標簽
String fileName = new String(files.getFileName());//獲得上傳文件的文件名
String path = "路徑"+fileName//存放路徑
files.saveAs(path , files.SAVEAS_VIRTUAL);//上傳
========================以上上傳================
try {
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
// 設定contentDisposition為null以禁止瀏覽器自動打開文件,
//保證點擊鏈接後是下載文件。若不設定,則下載的文件擴展名為
//doc時,瀏覽器將自動用word打開它。擴展名為pdf時,
//瀏覽器將用acrobat打開。
//su.setContentDisposition(null);
su.downloadFile(path.trim());//傳入下載的文件路徑
} catch (ServletException e) {
e.printStackTrace();
} catch (SmartUploadException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
=========================以上下載===================
注釋很詳細,希望對你有幫助

④ java闂棰

1.鏈鍩烘湰鐨勪貢鐮侀棶棰樸
榪欎釜涔辯爜闂棰樻槸鏈綆鍗曠殑涔辯爜闂棰樸備竴鑸鏂頒細鍑虹幇銆傚氨鏄欏甸潰緙栫爜涓嶄竴鑷村艱嚧鐨勪貢鐮併
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=iso8859-1"%>
<html>
<head>
<title>涓鏂囬棶棰</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
</head>
<body>
涔辯爜鐨勯棶棰
</body>
</html>
涓変釜鍦版柟鐨勭紪鐮併
絎涓涓鍦版柟鐨勭紪鐮佹牸寮忎負jsp鏂囦歡鐨勫瓨鍌ㄦ牸寮忋侲cljpse浼氭牴鎹榪欎釜緙栫爜鏍煎紡淇濆瓨鏂囦歡銆傚苟緙栬瘧jsp鏂囦歡錛屽寘鎷閲岄潰鐨勬眽瀛椼
絎浜屽勭紪鐮佷負瑙g爜鏍煎紡銆傚洜涓哄瓨涓篣TF-8鐨勬枃浠惰瑙g爜涓篿so8859-1錛岃繖鏍 濡傛湁涓鏂囪偗瀹氬嚭涔辯爜銆備篃灝辨槸蹇呴』涓鑷淬傝岀浜屽勬墍鍦ㄧ殑榪欎竴琛岋紝鍙浠ユ病鏈夈傜己鐪佷篃鏄浣跨敤iso8859-1鐨勭紪鐮佹牸寮忋傛墍浠ュ傛灉娌℃湁榪欎竴琛岀殑璇濓紝鈥滀貢鐮佺殑闂棰樷濅篃浼氬嚭鐜頒貢鐮併傚繀欏諱竴鑷存墠鍙浠ャ
絎涓夊勭紪鐮佷負鎺у埗嫻忚堝櫒鐨勮В鐮佹柟寮忋傚傛灉鍓嶉潰鐨勮В鐮侀兘涓鑷村苟涓旀棤璇鐨勮瘽錛岃繖涓緙栫爜鏍煎紡娌℃湁鍏崇郴銆傛湁鐨勭綉欏靛嚭鐜頒貢鐮侊紝灝辨槸鍥犱負嫻忚堝櫒涓嶈兘紜瀹氫嬌鐢ㄥ摢縐嶇紪鐮佹牸寮忋傚洜涓洪〉闈㈡湁鏃跺欎細宓屽叆欏甸潰錛屽艱嚧嫻忚堝櫒娣鋒穯浜嗙紪鐮佹牸寮忋傚嚭鐜頒簡涔辯爜銆

2. 琛ㄥ崟浣跨敤Post鏂瑰紡鎻愪氦鍚庢帴鏀跺埌鐨勪貢鐮侀棶棰
榪欎釜闂棰樹篃鏄涓涓甯歌佺殑闂棰樸傝繖涓涔辯爜涔熸槸tomcat鐨勫唴閮ㄧ紪鐮佹牸寮廼so8859-1鍦ㄦ崳涔憋紝涔熷氨鏄璇磒ost鎻愪氦鏃訛紝濡傛灉娌℃湁璁劇疆鎻愪氦鐨勭紪鐮佹牸寮忥紝鍒欎細浠iso8859-1鏂瑰紡榪涜屾彁浜わ紝鎺ュ彈鐨刯sp鍗翠互utf-8鐨勬柟寮忔帴鍙椼傚艱嚧涔辯爜銆傛棦鐒惰繖鏍風殑鍘熷洜錛屼笅闈㈡湁鍑犵嶈В鍐蟲柟寮忥紝騫舵瘮杈冦
A)鎺ュ彈鍙傛暟鏃惰繘琛岀紪鐮佽漿鎹
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8") 錛 榪欐牱鐨勮瘽錛屾瘡涓涓鍙傛暟閮藉繀欏昏繖鏍瘋繘琛岃漿鐮併傚緢楹葷儲銆備絾紜瀹炲彲浠ユ嬁鍒版眽瀛椼
B)鍦ㄨ鋒眰欏甸潰涓婂紑濮嬪勶紝鎵ц岃鋒眰鐨勭紪鐮佷唬鐮侊紝 request.setCharacterEncoding("UTF-8")錛屾妸鎻愪氦鍐呭圭殑瀛楃﹂泦璁句負UTF錛8銆傝繖鏍風殑璇濓紝鎺ュ彈姝ゅ弬鏁扮殑欏甸潰灝變笉蹇呭湪杞鐮佷簡銆傜洿鎺ヤ嬌鐢
String str = request.getParameter("something")錛涘嵆鍙寰楀埌奼夊瓧鍙傛暟銆備絾姣忛〉閮介渶瑕佹墽琛岃繖鍙ヨ瘽銆傝繖涓鏂規硶涔熷氨瀵筽ost鎻愪氦鐨勬湁鏁堟灉錛屽逛簬get鎻愪氦鍜屼笂浼犳枃浠舵椂鐨別nctype="multipart/form-data"鏄鏃犳晥鐨勩傜◢鍚庝笅闈㈠崟鐙瀵硅繖涓涓や釜鐨勪貢鐮佹儏鍐靛啀榪涜岃存槑銆
C)涓轟簡閬垮厤姣忛〉閮借佸啓request.setCharacterEncoding("UTF-8")錛屽緩璁浣跨敤榪囨護鍣ㄥ規墍鏈塲sp
榪涜岀紪鐮佸勭悊銆傝繖涓緗戜笂鏈夊緢澶氫緥瀛愩傝峰ぇ瀹惰嚜宸辨煡闃呫
3.琛ㄥ崟get鎻愪氦鏂瑰紡鐨勪貢鐮佸勭悊鏂瑰紡銆
濡傛灉浣跨敤get鏂瑰紡鎻愪氦涓鏂囷紝鎺ュ彈鍙傛暟鐨勯〉闈涔熶細鍑虹幇涔辯爜錛岃繖涓涔辯爜鐨勫師鍥犱篃鏄痶omcat鐨勫唴閮ㄧ紪鐮佹牸寮廼so8859-1瀵艱嚧銆俆omcat浼氫互get鐨勭己鐪佺紪鐮佹柟寮廼so8859-1瀵規眽瀛楄繘琛岀紪鐮侊紝緙栫爜鍚庤拷鍔犲埌url錛屽艱嚧鎺ュ彈欏甸潰寰楀埌鐨勫弬鏁頒負涔辯爜/銆併
瑙e喅鍔炴硶錛
A)浣跨敤涓婁緥涓鐨勭涓縐嶆柟寮忥紝瀵規帴鍙楀埌鐨勫瓧絎﹁繘琛岃В鐮侊紝鍐嶈漿鐮併
B)Get璧扮殑鏄痷rl鎻愪氦錛岃屽湪榪涘叆url涔嬪墠宸茬粡榪涜屼簡iso8859-1鐨勭紪鐮佸勭悊銆傝佹兂褰卞搷榪欎釜緙栫爜鍒欓渶瑕佸湪server.xml鐨凜onnector鑺傜偣澧炲姞useBodyEncodingForURI="true"
灞炴ч厤緗錛屽嵆鍙鎺у埗tomcat瀵筭et鏂瑰紡鐨勬眽瀛楃紪鐮佹柟寮忥紝涓婇潰榪欎釜灞炴ф帶鍒秅et鎻愪氦涔熸槸鐢╮equest.setCharacterEncoding("UTF-8")鎵璁劇疆鐨勭紪鐮佹牸寮忚繘琛岀紪鐮併傛墍浠ヨ嚜鍔ㄧ紪鐮佷負utf-8錛屾帴鍙楅〉闈㈡e父鎺ュ彈灝卞彲浠ヤ簡銆備絾鎴戣や負鐪熸g殑緙栫爜榪囩▼鏄錛宼omcat鍙堣佹牴鎹
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
disableUploadTimeout="true" URIEncoding=鈥漊TF-8鈥/>
閲岄潰鎵璁劇疆鐨刄RIEncoding=鈥漊TF-8鈥濆啀榪涜屼竴嬈$紪鐮侊紝浣嗘槸鐢變簬宸茬粡緙栫爜涓簎tf-8錛屽啀緙栫爜涔熶笉浼氭湁鍙樺寲浜嗐傚傛灉鏄浠巙rl鑾峰彇緙栫爜錛屾帴鍙楅〉闈㈠垯鏄鏍規嵁URIEncoding=鈥漊TF-8鈥濇潵榪涜岃В鐮佺殑銆

4.涓婁紶鏂囦歡鏃剁殑涔辯爜瑙e喅
涓婁紶鏂囦歡鏃訛紝form琛ㄥ崟璁劇疆鐨勯兘鏄痚nctype="multipart/form-data"銆傝繖縐嶆柟寮忎互嫻佹柟寮忔彁浜ゆ枃浠躲傚傛灉浣跨敤apach鐨勪笂浼犵粍浠訛紝浼氬彂鐜版湁寰堝氫貢鐮佹兂璞°傝繖鏄鍥犱負apach鐨勫厛鏈焎ommons-fileupload.jar鏈塨ug錛屽彇鍑烘眽瀛楀悗榪涜岃В鐮侊紝鍥犱負榪欑嶆柟寮忔彁浜わ紝緙栫爜鍙堣嚜鍔ㄤ嬌鐢ㄧ殑鏄痶omcat緙虹渷緙栫爜鏍煎紡iso-8859-1銆備絾鍑虹幇鐨勪貢鐮侀棶棰樻槸錛 鍙ュ彿錛岄楀彿錛岀瓑鐗規畩絎﹀彿鍙樻垚浜嗕貢鐮侊紝奼夊瓧濡傛灉鏁伴噺涓哄囨暟錛屽垯浼氬嚭鐜頒貢鐮侊紝鍋舵暟鍒欒В鏋愭e父銆
瑙e喅鏂瑰紡錛 涓嬭澆commons-fileupload-1.1.1.jar 榪欎釜鐗堟湰鐨刯ar宸茬粡瑙e喅浜嗚繖浜沚ug銆
浣嗘槸鍙栧嚭鍐呭規椂浠嶇劧闇瑕佸瑰彇鍑虹殑瀛楃﹁繘琛屼粠iso8859-1鍒皍tf-8杞鐮併傚凡緇忚兘寰楀埌姝e父鎵鏈夋眽瀛椾互鍙婂瓧絎︺

5.Java浠g爜鍏充簬url璇鋒眰錛屾帴鍙楀弬鏁扮殑涔辯爜
url鐨勭紪鐮佹牸寮忥紝鍙栧喅浜庝笂闈㈡墍璇寸殑URIEncoding=鈥漊TF-8鈥濄 濡傛灉璁懼畾浜嗚繖涓緙栫爜鏍煎紡錛屽垯鎰忓懗鐫鎵鏈夊埌url鐨勬眽瀛楀弬鏁幫紝閮藉繀欏昏繘琛岀紪鐮佹墠鍙浠ャ傚惁鍒欏緱鍒扮殑奼夊瓧鍙傛暟鍊奸兘鏄涔辯爜錛屼緥濡
涓涓閾炬帴 Response.sendDerect錛堚/a.jsp?name=寮犲ぇ緇粹濓級錛涜屽湪a.jsp閲岄潰鐩存帴浣跨敤
String name = request.getParameter錛"name"錛夛紱寰楀埌鐨勫氨鏄涔辯爜銆傚洜涓鴻勫畾浜嗗繀欏繪槸utf-8鎵嶅彲浠ワ紝鎵浠ワ紝榪欎釜杞鍚戝簲璇ヨ繖鏍峰啓錛
Response.sendDerect錛堚/a.jsp?name=URLEncode.encode(鈥滃紶澶х淮鈥,鈥漸tf-8鈥)錛涙墠鍙浠ャ
濡傛灉涓嶈劇疆榪欎釜鍙傛暟URIEncoding=鈥漊TF-8鈥濓紝 浼氭庝箞鏍峰憿? 涓嶈劇疆鍒欏氨浣跨敤浜嗙己鐪佺殑緙栫爜鏍煎紡iso8859-1銆傞棶棰樺張鍑烘潵浜嗭紝絎涓灝辨槸鍙傛暟鍊肩殑涓鏁板傛灉鏄濂囨暟涓鏁幫紝鍒欏氨鍙浠ユe父瑙f瀽錛屽傛灉浣垮伓鏁頒釜鏁幫紝寰楀埌鏈鍚庡瓧絎﹀氨鏄涔辯爜銆傝繕鏈夊氨鏄濡傛灉鏈鍚庝竴涓瀛楃﹀傛灉鏄鑻辨枃錛屽垯灝辮兘姝e父瑙f瀽錛屼絾涓鏂囩殑鏍囩偣絎﹀彿浠嶅嚭鐜頒貢鐮併傛潈瀹滀箣璁★紝濡傛灉鎮ㄧ殑鍙傛暟涓娌℃湁涓鏂囨爣鐐圭﹀彿錛屽垯鍙浠ュ湪鍙傛暟鍊兼渶鍚庡姞涓涓鑻辨枃絎﹀彿鏉ヨВ鍐充貢鐮侀棶棰橈紝寰楀埌鍙傛暟鍚庡啀鍘繪帀榪欎釜鏈鍚庨潰鐨勭﹀彿銆備篃鍙浠ュ噾鎴栦嬌鐢ㄣ

6.鑴氭湰浠g爜鍏充簬url璇鋒眰錛屾帴鍙楀埌鐨勫弬鏁頒貢鐮
鑴氭湰涓涔熶細榪涜岄〉闈㈣漿鍚戠殑鎺у埗錛屼篃浼氭秹鍙婂埌闄勫甫鍙傛暟錛屽苟鍦ㄦ帴鍙楅〉闈㈣В鏋愯繖涓鍙傛暟鐨勬儏鍐點傚傛灉榪欎釜奼夊瓧鍙傛暟涓嶈繘琛孶RIEncoding=鈥漊TF-8鈥濇墍鎸囧畾鐨勭紪鐮佸勭悊錛屽垯鎺ュ彈欏甸潰鎺ュ彈鍒扮殑奼夊瓧涔熸槸涔辯爜銆傝剼鏈澶勭悊緙栫爜姣旇緝楹葷儲錛屽繀欏繪湁鐩稿簲鐨勭紪鐮佽剼鏈瀵瑰簲鏂囦歡錛岀劧鍚庤皟鐢ㄨ剼鏈涓鐨勬柟娉曞規眽瀛楄繘琛岀紪鐮佸嵆鍙銆
7.鍏充簬jsp鍦∕yEclipse涓鎵撳紑鐨勪貢鐮侀棶棰
瀵逛簬涓涓宸茬粡瀛樺湪鐨勯」鐩錛孞sp鏂囦歡鐨勫瓨鍌ㄦ牸寮忓彲鑳芥槸utf-8銆傚傛灉鏂板畨瑁呯殑eclipse錛屽垯緙虹渷鎵撳紑浣跨敤鐨勭紪鐮佹牸寮忛兘鏄痠so8859-1銆傛墍浠ュ艱嚧jsp閲岄潰鐨勬眽瀛楀嚭鐜頒貢鐮併傝繖涓涔辯爜姣旇緝瀹規槗瑙e喅錛岀洿鎺ュ埌eclipse3.1鐨勫嚲濂借劇疆閲岄潰鎵懼埌general-銆塭didor錛岃劇疆涓烘偍鐨勬枃浠舵墦寮緙栫爜涓簎tf-8鍗沖彲銆侲clipse浼氳嚜鍔ㄩ噸鏂頒互鏂扮殑緙栫爜鏍煎紡鎵撳紑銆傛眽瀛楀嵆鍙姝e父鏄劇ず銆

8.鍏充簬html欏甸潰鍦╡clipse涓鎵撳紑鍑虹幇涔辯爜鎯呭喌
鐢變簬澶ч儴鍒嗛〉闈㈤兘鏄鐢眃reamweaver鍒朵綔錛屽叾瀛樺偍鏍煎紡璺焑clipse鐨勮瘑鍒鏈夊樊鍒瀵艱嚧銆
涓鑸榪欑嶆儏鍐碉紝鍦╡clipse涓鏂板緩涓涓猨sp錛岀洿鎺ヤ粠dreamweaver澶嶅埗欏甸潰鍐呭圭矘璐村埌jsp鍗沖彲銆

熱點內容
壓縮皇冠 發布:2025-01-16 01:51:27 瀏覽:274
全鍵盤編程鍵盤 發布:2025-01-16 01:38:59 瀏覽:422
尾貨棉服直播間腳本 發布:2025-01-16 01:21:45 瀏覽:228
vb編程步驟 發布:2025-01-16 01:11:58 瀏覽:202
bb霜解壓 發布:2025-01-16 01:11:11 瀏覽:597
編程懟人 發布:2025-01-16 00:53:08 瀏覽:761
建立共享伺服器地址 發布:2025-01-16 00:26:40 瀏覽:565
android開機動畫修改 發布:2025-01-16 00:26:26 瀏覽:872
怎麼解壓pc版游戲 發布:2025-01-16 00:16:32 瀏覽:122
v9更新到91有方舟編譯器嗎 發布:2025-01-16 00:11:49 瀏覽:500