当前位置:首页 » 文件管理 » 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-15 23:25:58 浏览:410
如何查看电脑的配置是不是i5 发布:2025-01-15 23:24:21 浏览:433
PI数据库 发布:2025-01-15 23:14:42 浏览:882
我的世界手机版暖心服务器 发布:2025-01-15 23:05:02 浏览:169
xts压缩比 发布:2025-01-15 23:02:41 浏览:424
怎么看联系人存储位置 发布:2025-01-15 22:47:14 浏览:794
旗舰560配置的是什么发动机 发布:2025-01-15 22:40:59 浏览:626
sql多表连接查询 发布:2025-01-15 22:33:12 浏览:221
android网络休眠 发布:2025-01-15 22:32:12 浏览:350
怎么不下鲁大师查看电脑配置 发布:2025-01-15 22:30:23 浏览:311