仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 384|回复: 9
打印 上一主题 下一主题

[学习教程] JAVA网页设计完全办理中文名文件下载和下载文件内容...

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:10:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之!办理|成绩|下载|中文之前,写过一个Download.jsp文件,能够办理下载文件乱码成绩(诸如:DOC,XSL文件等等).
厥后发明,碰到中文名的文件的时分,文件下载将会报错~~~~
明天,经由过程改写原Download.jsp文件已完全办理了这个成绩~
如今,把一整套的文件上传下载的办法给贴出来~~~以便人人自创!~!~!~!~!
作者:古埃及法老
-------------------------------------------------------------------------------------------------------------------
测试情况:WEBLOGIC8.1,WINXPSP4,IE6.0
-----------------------------------------------------
文件上传:
-----------------------------------------
筹办事情:导进出名的SmartUpload.jar组件包
upload.jsp文件
---------------------------------------------------------
<%@pagecontentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("gb2312");//这句话很主要,不然碰到中文就堕落~
%>
<HTML><HEAD><TITLE>上传</TITLE>
<METAcontent="text/html;charset=gb2312"http-equiv=Content-Type>
</HEAD>
<BODYleftMargin=0topMargin=0>
<tablewidth="100%"height="100%"border="0"cellpadding="0"cellspacing="0"bgcolor="#DEE7EF">
<tr>
<tdalign="center">
<FORMaction="upload_ok.jsp"method=postname="Upload"enctype="multipart/form-data">
<br>
请输出附件文件的地点路径<FONTcolor=red>*</FONT>为必填项目<br>
<br>
<TABLEwidth="317"border=0cellPadding=0>
<TBODY>
<TR>
<TDalign=rightvAlign=centernowrap>附件路径:</TD>
<TD><inputtype="file"name="file"style="border:1px#FFFFFFsolid;background:#efefef"><FONTcolor=red>*</FONT></TD>
</TR>
<TRalign="center">
<TDheight=60colspan="2"vAlign=centernowrap><INPUTstyle="height:22px"name=B1type=submitvalue="确定">
<INPUTstyle="height:22px"name=B2type=resetvalue="取消">
</TD>
</TR>
</TBODY>
</TABLE>
</FORM>
</td>
</tr>
</table>
</BODY></HTML>
---------------------------------------------------------
upload_ok.jsp文件
---------------------------------------------------------
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="com.jspsmart.upload.*"%>
<HTML><HEAD><TITLE>上传乐成!</TITLE>
<METAcontent="text/html;charset=gb2312"http-equiv=Content-Type>
</HEAD>
<BODYleftMargin=0topMargin=0>
<jsp:useBeanid="mySmartUpload"scope="page"class="com.jspsmart.upload.SmartUpload"/>
<tablewidth="80%"border="0"cellpadding="0"cellspacing="0"bgcolor="#DEE7EF">
<tr>
<tdalign="center">
<%
intcount=0;
StringfileName=null;
mySmartUpload.initialize(pageContext);
mySmartUpload.upload();
com.jspsmart.upload.FilemyFile=mySmartUpload.getFiles().getFile(0);
if(!myFile.isMissing()){
//Stringext=myFile.getFileExt();//失掉后缀
fileName=myFile.getFileName();
myFile.saveAs("/files/"+fileName);//你要寄存文件地点文件夹的绝对路径
out.println("文件:<b>"+fileName+"</b>上传乐成!<br>文件巨细:"+myFile.getSize()+"kb<BR>");
}
%>
</BODY></HTML>
---------------------------------------------------------
文件下载:
-----------------------------------------
文件的超毗连写法典范:
<%Stringfname="中文测试.xsl";//假定你的文件名是:中文测试.xsl
%>
<Atarget="_blank"href="Download.jsp?filename=<%=fname%>">下载</A>
文件的超毗连写法典范-2从头用utf-8对文件名编码:
<%@pagecontentType="text/html;charset=gb2312"session="true"%>
<%Stringname=java.net.URLEncoder.encode("天下文明.doc","UTF-8"));%><ahref="c:<%=name%>">天下文明.doc</a>
Download.jsp文件
---------------------------------------------------------
<%
java.io.BufferedInputStreambis=null;
java.io.BufferedOutputStreambos=null;
try{
Stringfilename=request.getParameter("filename");
filename=newString(filename.getBytes("iso8859-1"),"gb2312");
response.setContentType("application/x-msdownload");
response.setHeader("Content-disposition","attachment;filename="+newString(filename.getBytes("gb2312"),"iso8859-1"));
bis=newjava.io.BufferedInputStream(newjava.io.FileInputStream(config.getServletContext().getRealPath("files/"+filename)));
bos=newjava.io.BufferedOutputStream(response.getOutputStream());
byte[]buff=newbyte[2048];
intbytesRead;
while(-1!=(bytesRead=bis.read(buff,0,buff.length))){
bos.write(buff,0,bytesRead);
}
}
catch(Exceptione){
e.printStackTrace();
}
finally{
if(bis!=null)bis.close();
if(bos!=null)bos.close();
}
%>

有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。
简单生活 该用户已被删除
沙发
发表于 2015-1-20 16:08:33 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
柔情似水 该用户已被删除
板凳
发表于 2015-1-25 09:20:03 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
分手快乐 该用户已被删除
地板
发表于 2015-1-26 15:23:13 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
莫相离 该用户已被删除
5#
发表于 2015-2-8 07:56:52 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
再现理想 该用户已被删除
6#
发表于 2015-2-11 07:23:08 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-1 23:28:55 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
兰色精灵 该用户已被删除
8#
发表于 2015-3-11 00:53:52 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-17 17:10:38 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
变相怪杰 该用户已被删除
10#
发表于 2015-3-24 13:10:22 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 19:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表