仓酷云

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

[学习教程] JAVA网页编程之JSP上传图片并天生缩略图

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

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

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

x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)js|上传|上传图片|缩略图本例子利用了jspsmart组件举行上传,这里能够收费下载该组件www.jspsmart.com
下载解压后,将jar包复制到 WEB-INFlib 目次后重启服务器,jspsmart便可一般利用了

1、uploadimage.jsp

<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,
java.sql.*,com.jspsmart.upload.*,java.util.*,cn.oof.database.*,cn.oof.house.*"%>
<%
SmartUploadmySmartUpload=newSmartUpload();
longfile_size_max=4000000;
StringfileName2="",ext="",testvar="";
Stringurl="uploadfile/images/";//应包管在根目次中有此目次的存在
//初始化
mySmartUpload.initialize(pageContext);
//只同意上载此类文件
try{
mySmartUpload.setAllowedFilesList("jpg,gif");
//上载文件
mySmartUpload.upload();
}catch(Exceptione){
%>
<SCRIPTlanguage=javascript>
alert("只同意上传.jpg和.gif范例图片文件");
window.location=upfile.jsp;
</script>
<%
}
try{

com.jspsmart.upload.FilemyFile=mySmartUpload.getFiles().getFile(0);
if(myFile.isMissing()){%>
<SCRIPTlanguage=javascript>
alert("请先选择要上传的文件");
window.location=upfile.jsp;
</script>
<%}
else{
//StringmyFileName=myFile.getFileName();//获得上载的文件的文件名
ext=myFile.getFileExt();//获得后缀名
intfile_size=myFile.getSize();//获得文件的巨细
Stringsaveurl="";
if(file_size<file_size_max){
//变动文件名,获得以后上传工夫的毫秒数值
Calendarcalendar=Calendar.getInstance();
Stringfilename=String.valueOf(calendar.getTimeInMillis());
saveurl=request.getRealPath("/")+url;
saveurl+=filename+"."+ext;//保留路径
myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
//out.print(filename);
//-----------------------上传完成,入手下手天生缩略图-------------------------
java.io.Filefile=newjava.io.File(saveurl);//读进方才上传的文件
Stringnewurl=request.getRealPath("/")+url+filename+"_min."+ext;//新的缩略图保留地点
Imagesrc=javax.imageio.ImageIO.read(file);//机关Image对象
floattagsize=200;
intold_w=src.getWidth(null);//失掉源图宽
intold_h=src.getHeight(null);
intnew_w=0;
intnew_h=0;//失掉源图长
inttempsize;
floattempdouble;
if(old_w>old_h){
tempdouble=old_w/tagsize;
}else{
tempdouble=old_h/tagsize;
}
new_w=Math.round(old_w/tempdouble);
new_h=Math.round(old_h/tempdouble);//盘算新图长宽
BufferedImagetag=newBufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,new_w,new_h,null);//绘制减少后的图
FileOutputStreamnewimage=newFileOutputStream(newurl);//输入到文件流
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(newimage);
encoder.encode(tag);//近JPEG编码
newimage.close();

}
else{
out.print("<SCRIPTlanguage=javascript>");
out.print("alert(上传文件巨细不克不及凌驾"+(file_size_max/1000)+"K);");
out.print("window.location=upfile.jsp;");
out.print("</SCRIPT>");
}
}
}catch(Exceptione){

e.toString();

}
%>

2upload.htm
<html>
<head>
<title>请选择上传的图片</title>
</head>
<body>
<tableborder="0"align="center"cellpadding="0"cellspacing="0">
<tr>
<tdheight="45"align="center"valign="middle"><formaction="uploadimage.jsp"method="post"enctype="multipart/form-data"name="form1">
请选择上传的图片
<inputtype="file"name="file">
<inputtype="submit"name="Submit"value="上传">
</form></td>
</tr>
</table>
</body>
</html>
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。
小女巫 该用户已被删除
沙发
发表于 2015-1-20 17:05:44 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-29 13:15:07 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
莫相离 该用户已被删除
地板
发表于 2015-1-29 22:29:53 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
再见西城 该用户已被删除
5#
发表于 2015-2-1 18:37:18 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
再现理想 该用户已被删除
6#
发表于 2015-2-7 13:22:30 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
深爱那片海 该用户已被删除
7#
发表于 2015-2-21 22:38:59 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
兰色精灵 该用户已被删除
8#
发表于 2015-3-6 22:06:45 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
蒙在股里 该用户已被删除
9#
发表于 2015-3-7 15:57:24 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
只想知道 该用户已被删除
10#
发表于 2015-3-15 09:21:31 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-10 10:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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