当前位置: 首页 > Web前端 > HTML5

JavaWeb开发实现手机照片上传服务器

时间:2023-04-05 14:57:08 HTML5

第一步:搭建环境,基础jdk1.6+apachetomcat6.0+myeclipse20141。我们需要知道自己的jdk版本。因为我们ApacheTomcat配置成功的前提是对应的版本。jdk1.6的安装是因为在myeclipse中新建webproject时,可能只有1.6和1.7两个选项,但是不同的myeclipse版本应该是不一样的,如下图:jdk的具体安装过程而环境变量的设置可以百度一下,教程也很多安装完成后查看版本,如下图:2.安装apachetomcat6.0,建议安装压缩版,解压下载后直接使用,然后设置环境变量即可使用。解压缩可以在任何磁盘上完成。下图是我的路径:5、配置相关的环境变量,因为我之前配置过Java开发环境,也就是JDK。所以不需要配置JAVA_HOME1)环境变量1:CATALINA_HOME,环境变量值:F:\tomcat-6.0.35(环境变量值为对应的ZIP文件解压目录)2)环境变量2:CATALINA_BASE,环境变量值:F:\tomcat-6.0.35(同CATALINA)3)环境变量2:TOMCAT_HOME,环境变量值:F:\tomcat-6.0.35(同CATALINA)4)环境变量3:CALSSPATH,修改环境变量值,添加:%CATALINA_HOME%libservlet-api.jar;5)环境变量4:PATH,修改环境变量值,添加:%CATALINA_HOME%libservlet-api.jar;图片显示:环境变量设置后需要修改一些tomcat的配置信息,路径:F:\tomcat-6.0.35\conf\server.xml怎么和下图一样,不用修改:以上东西都配置好后,可以启动查看tomcat,看是否配置成功,双击F:\tomcat-6.0.35\bin目录下的startup.bat:这会显示配置成功成功,那么我们可以访问tomcat自带的例子,打开浏览器输入localhost:80/index.html,80是端口号,可以自己修改。如果没有修改就是8080,如下图:3.安装myeclipse2014,安装过程很简单,分享安装包和破解包即可,破解包自带破解教程,百度云链接https://pan.baidu.com/s/1c13JSdE密码:3ji7安装破解完成后,首先将myeclipse的编码格式改为UTF-8国际编码。window->perferences如图:由于myeclipse不会自动导入你配置的jdk,需要手动配置,因为没什么特别的,直接百度配置教程:http://jingyan.baidu.com/arti。..在myeclipse中也有很多关于配置tomcat和如何启动的教程,很容易找到。链接:http://jingyan.baidu.com/arti...这个是我配置好后,点击上图圈出的图标开始你自己导入tomcat,然后矩形框用来映射web你创建的项目到F:\tomcat-6.0.35\webapps目录新建一个web项目...]并映射到webapps目录:然后开始写代码:首先设置index.jsp的编码格式为UTF-8然后导入jsp-api.jar。index.jsp中这个包的主要代码是form。表单中action的值与后面建立的servlet/JSP映射URL一致。您可以先创建一个servlet,然后再修改这个值。${result}这显示上传状态,稍后在SmartUpload.java中定义。showPreView(this)方法用于预览图片。


${result}新的servlet创建成功后,可以在web.xml中看到一些自动配置好消息:SmartUpload。javapackagecom.upload;导入java.io.File;导入java.io.FileOutputStream;导入java.io.IOException;导入java.io.InputStream;导入java.io.RandomAccessFile;导入java.text.SimpleDateFormat;导入java。util.Date;导入javax.servlet.RequestDispatcher;导入javax.servlet.ServletException;导入javax.servlet.http.HttpServlet;导入javax.servlet.http.HttpServletRequest;导入javax.servlet.http.HttpServletResponse;公共类SmartUpload扩展HttpServlet{//确定允许上传的文件扩展名privateStringExt_Name="gif,jpg,jpeg,png,bmp,swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb,doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2";//显示上传文件的结果privateStringresult=null;publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{doPost(req,resp);}publicvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{//获取上传文件流InputStreamfileSource=req.getInputStream();//设置临时文件名StringtempFileName="F:/tempFile";文件临时文件=新文件(临时文件名);//文件输出流,将上传的文件写入临时文件FileOutputStreamoutputStream=newFileOutputStream(tempFile);字节b[]=新字节[1024];诠释n;while((n=fileSource.read(b))!=-1){outputStream.write(b,0,n);}outputStream.close();文件源.close();//创建文件随机流并读取临时文件RandomAccessFilerandomFile=newRandomAccessFile(tempFile,"r");//第一行的垃圾数据不需要randomFile.readLine();//获取第二行的文件后缀Stringstr=randomFile.readLine();//获取文件后缀StringfileExt=str.substring(str.indexOf(".")+1,str.lastIndexOf("\"")).toLowerCase();//检查扩展名//如果需要限制上传的文件类型,可以通过文件扩展名来判断上传的文件文件类型是否合法?)){System.out.println("上传文件的扩展名不允许:"+fileExt);result=result+"上传文件的扩展名不允许:"+fileExt+"
";随机文件.close();RequestDispatcherdispatcher=req.getRequestDispatcher("index.jsp");dispatcher.forward(req,resp);返回;}//获取保存文件的名称Stringfilename=makeFileName(fileExt);//重启将文件指针定位到文件头randomFile.seek(0);长开始位置=0;诠释我=1;while((n=randomFile.readByte())!=-1&&i<=4){if(n=='\n'){startPosition=randomFile.getFilePointer();我++;}}//startPosition=startPosition-1;//获取文件内容的结束位置randomFile.seek(randomFile.length());longendPosition=randomFile.getFilePointer();诠释j=1;while(endPosition>=0&&j<=2){endPosition--;随机文件。寻找(结束位置);if(randomFile.readByte()=='\n'){j++;}}endPosition=endPosition-1;StringsavePath="F:/图像";文件fileupload=newFile(savePath);如果(!fileupload.exists()){文件上传.mkdir();}//新建文件和文件名FilesaveFile=newFile(savePath,filename);RandomAccessFilerandomAccessFile=newRandomAccessFile(saveFile,"rw");//从临时文件中读取文件内容randomFile.seek(startPosition);while(startPosition