JAVA网页编程之jsp上传图片
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。js|上传|上传图片JSP上传图片并天生缩略图本例子利用了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>
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。 Java是一种计算机编程语言,拥有跨平台、面向对java 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 是一种语言,用以产生「小应用程序(Applet(s)) 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
页:
[1]