仓酷云

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

[学习教程] JAVA编程:教您纯Jsp的自界说的单个文件上载代码

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

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

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

x
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。js  本文是一个纯Jsp的自界说的单个文件上载代码:
<%@pagecontentType="text/html;charset=GBK"%>
<%@pageimport="java.io.*"%>
<%@pageimport="java.util.*"%>
<%@pageimport="javax.servlet.*"%>
<%@pageimport="javax.servlet.http.*"%>
<html>
<head>
<title>
upFile
</title>
</head>
<bodybgcolor="#ffffff">
<center>
<%
//界说上载文件的最年夜字节
intMAX_SIZE=102400*102400;
//创立根路径的保留变量
StringrootPath;

//声明文件读进类
DataInputStreamin=null;
FileOutputStreamfileOut=null;
//获得客户真个收集地点
StringremoteAddr=request.getRemoteAddr();
//out.print(remoteAddr);
//取得服务器的名字
StringserverName=request.getServerName();
//out.print(serverName);
//获得jsp文件绝对与根地点的地点
//out.print(request.getServletPath());
//获得互联网程序的相对地点
StringrealPath=request.getRealPath(serverName);
//out.println(realPath);
realPath=realPath.substring
(0,realPath.lastIndexOf(""));
//out.print(realPath);
//创立文件的保留目次"upload"
rootPath=realPath+"upload";
//out.println(rootPath);
//获得客户端上传的数据范例
StringcontentType=request.getContentType();
//out.println
("<p>客户端上传的数据范例=
"+contentType+"</p>");
try{
if(contentType.indexOf
("multipart/form-data")>=0)
{
//读进上传的数据
in=newDataInputStream
(request.getInputStream());
intformDataLength=
request.getContentLength();
if(formDataLength>MAX_SIZE){
out.println
("<P>上传的文件字节数不成以凌驾"
+MAX_SIZE+"</p>");
return;
}
//保留上传文件的数据
bytedataBytes[]=newbyte[formDataLength];
intbyteRead=0;
inttotalBytesRead=0;
//上传的数据保留在byte数组
while(totalBytesRead<formDataLength)
{
byteRead=in.read(dataBytes,
totalBytesRead,formDataLength);
totalBytesRead+=byteRead;
}
//依据byte数组创立字符串
Stringfile=newString(dataBytes);
//out.println(file);
//获得上传的数据的文件名
StringsaveFile=file.substring
(file.indexOf("filename="")+10);
saveFile=saveFile.substring
(0,saveFile.indexOf("
"));
saveFile=saveFile.substring
(saveFile.lastIndexOf("")
+1,saveFile.indexOf("""));
intlastIndex=
contentType.lastIndexOf("=");
//获得数据的分开字符串
Stringboundary=
contentType.substring
(lastIndex+1,contentType.length());
//创立保留路径的文件名
StringfileName=rootPath+saveFile;
//out.print(fileName);
intpos;
pos=file.indexOf("filename="");
pos=file.indexOf("
",pos)+1;
pos=file.indexOf("
",pos)+1;
pos=file.indexOf("
",pos)+1;
intboundaryLocation=
file.indexOf(boundary,pos)-4;
//out.println(boundaryLocation);
//获得文件数据的入手下手的地位
intstartPos=(
(file.substring(0,pos)).getBytes()).length;
//out.println(startPos);
//获得文件数据的停止的地位
intendPos=((file.substring
(0,boundaryLocation)).getBytes()).length;
//out.println(endPos);
//反省上载文件是不是存在
FilecheckFile=newFile(fileName);
if(checkFile.exists()){
out.println("<p>"+saveFile+
"文件已存在.</p>");
}
//反省上载文件的目次是不是存在
FilefileDir=newFile(rootPath);
if(!fileDir.exists())
{
fileDir.mkdirs();
}
//创立文件的写出类
fileOut=newFileOutputStream(fileName);
//保留文件的数据
fileOut.write(dataBytes,startPos,
(endPos-startPos));
fileOut.close();
out.println("<P>"+saveFile+
"文件乐成上载.</p>");
}else{
Stringcontent=request.getContentType();
out.println
("<p>上传的数据范例不是是multipart/form-data</p>");
}
}catch(Exceptionex)
{
thrownewServletException(ex.getMessage());
}
%>
</center>
</body>
</html>

再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
海妖 该用户已被删除
沙发
发表于 2015-1-20 15:13:08 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
莫相离 该用户已被删除
板凳
发表于 2015-1-20 22:06:14 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
爱飞 该用户已被删除
地板
发表于 2015-1-30 06:39:42 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
小妖女 该用户已被删除
5#
发表于 2015-2-6 07:45:49 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
老尸 该用户已被删除
6#
发表于 2015-2-15 17:53:46 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
不帅 该用户已被删除
7#
发表于 2015-3-4 12:06:20 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
山那边是海 该用户已被删除
8#
发表于 2015-3-11 19:33:18 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
谁可相欹 该用户已被删除
9#
发表于 2015-3-19 09:58:26 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
简单生活 该用户已被删除
10#
发表于 2015-3-27 17:11:16 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 13:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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