前面受一些非计算机专业的朋友所邀,想做一个文件上传的例子,在这里就写一个简单的例子实现jsp+servlet来完成文件的上传。废话不多说了,下面来看看代码:
1、首先,我们需要下载commons-fileupload.jar
和commons-io.jar两个包。有了这两个包我们就可以开始写代码了。
首先来看看jsp代码吧,在index.jsp文件中写入
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="fileUpload" method="POST" enctype="Multipart/form-data">
<div align="right">
<input accept="*.jsp" id="myFile" name="myFrame1" type="file"/><br>
<input accept="*.jsp" id="myFile" name="myFrame2" type="file"/><br>
<input accept="*.jsp" id="myFile" name="myFrame3" type="file"/><br>
<input accept="*.jsp" id="myFile" name="myFrame4" type="file"/><br>
<input accept="*.jsp" id="myFile" name="myFrame5" type="file"/><br>
<input type="submit" value="上传"/>
</div>
</form>
</body>
</html>
然后在我们的myeclipse中,新建一个servlet,我这里命名FileUpload.java并放到了我自己创建的一个包com.ynshun.servlet中(根据自己的需要命名)。然后在FileUpload.java文件中输入如下代码:
package com.ynshun.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
*
* @author 余能顺
* 2011-4-8 下午10:24:09
* FileUpload.java
* version 1.0
*/
public class FileUpload extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
PrintWriter out = response.getWriter();
DiskFileItemFactory fac = new DiskFileItemFactory();
fac.setSizeThreshold(1024 * 1024);
fac.setRepository(fac.getRepository());
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setFileSizeMax(1024 * 1024 * 5);
List fileList = null;
try {
fileList = upload.parseRequest(request);//获取上传列表
} catch (FileUploadException ex) {
ex.printStackTrace();
return;
}
Iterator iter = fileList.iterator();
while (iter.hasNext()) {
FileItem fileItem = (FileItem) iter.next();
if (!fileItem.isFormField()) {
String fileSize = new Long(fileItem.getSize()).toString();
String serverDir = getServletContext().getRealPath("uploadFiles");//设置文件上传目录
String filePath = serverDir + "\\" + fileItem.getName();
File saveFile = new File(filePath);
try {
fileItem.write(saveFile);
} catch (Exception ex1) {
ex1.printStackTrace();
return;
}
}
}
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);// 调用doGet方法,就不用写两个接受方式的代码了
}
}
好了,写到这里,已经完成了通过jsp页面选择上传文件,然后上传到指定的服务器地址里面了。我把源码也放到了这里,有需要学习的朋友可以下下去看一下。
分享到:
相关推荐
### jsp+servlet实现文件上传下载 在现代Web开发中,文件上传下载是常见的功能之一。JSP(JavaServer Pages)与Servlet技术结合可以轻松实现这一功能。本篇将详细介绍如何利用jspSmartUpload组件实现文件的上传与...
在这个主题中,“jsp+servlet实现文件上传和下载”是核心知识点,我们将深入探讨如何利用这两个组件以及Apache的`commons-fileupload`和`commons-io`库来完成这一任务。 1. **文件上传** 文件上传通常涉及用户通过...
在本文中,我们将深入探讨如何使用Java的JSP(JavaServer Pages)和Servlet技术来实现一个图片上传功能。这是一个常见的Web开发任务,特别是在构建交互性强、动态内容丰富的网站时。以下是一些关键知识点: 1. **...
在这个“JSP+servlet实现文件上传”的项目中,开发者提供了六个实例,涵盖了从用户选择文件到服务器接收并存储文件的整个过程。通过这个项目,我们可以学习到以下关键知识点: 1. **JSP基础知识**: JSP是一种基于...
通过以上步骤,你将在Glassfish v2服务器上实现一个基本的JSP+Servlet文件上传功能,只允许上传.gif和.jpg格式的图片,同时阻止.exe和.bat等可能带有恶意代码的文件。这样的功能在实际应用中非常实用,如用户头像...
以上就是使用JSP和Servlet实现文件上传下载的基本流程和关键代码。在实际应用中,我们还需要考虑错误处理、安全性(如防止文件覆盖、上传恶意文件等)以及性能优化(如使用缓冲、断点续传等)。在大型项目中,可能还...
以上就是使用JSP和Servlet实现MP3文件上传下载的基本流程和关键知识点。需要注意的是,实际应用中还需要考虑错误处理、文件重命名防止重复、安全性(如防止路径遍历攻击)等问题,确保系统的稳定性和安全性。同时,...
总的来说,结合JSP和Servlet,我们可以构建一个完整的文件上传系统,提供用户友好的前端界面,以及可靠的后端服务来处理上传请求。通过不断优化和调整,这样的系统可以满足各种复杂的企业级需求。
在这个“JSP+servlet文件上传简单案例”中,我们将探讨如何利用这两种技术实现文件上传功能。文件上传是Web应用中常见的一种需求,例如用户可能需要上传个人头像、文档或者其他形式的数据。 首先,让我们了解一下...
总的来说,这个项目提供了一个基础的文件上传实现,可以帮助开发者理解JSP和Servlet在文件上传中的协作,以及如何使用第三方库如Apache Commons FileUpload处理多部分请求。在实际应用中,还需要考虑安全性问题,...
总的来说,`jsp` 和 `servlet` 结合使用,可以轻松地处理Web应用中的文件上传和下载功能。确保正确配置服务器和web.xml,以使Servlet能够处理相应的HTTP请求。同时,注意处理异常和错误,以及安全问题,如限制上传...
总结,JSP和Servlet结合可以构建出完整的文件上传功能。理解HTTP协议、文件上传原理以及如何在Java Web环境中处理这些请求是实现此功能的关键。同时,需要注意安全性问题,以保证应用程序的稳定性和用户数据的安全。...
Servlet接收上传文件,将其保存到服务器的指定目录,并将路径信息存入数据库,以便在JSP页面中展示。 - **权限管理**:通过Servlet实现用户角色划分,例如普通用户只能阅读和评论,而管理员可以发布、编辑和删除文章...
以下是一个简单的Servlet文件上传示例: ```java import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk....
本篇将详细讲解如何使用`JSP`和`Servlet`合作实现文件上传功能,特别是针对图片文件的上传。 一、JSP简介 JSP是一种基于Java的服务器端脚本语言,它允许开发者在HTML或XML文档中嵌入Java代码,用于创建动态网页。...
本篇将详细介绍`JSP/servlet`实现文件上传,并结合`AJAXFileUpload`工具进行进度显示,提供更友好的用户体验。 首先,`JSP`是一种基于Java的服务器端脚本语言,它允许在HTML页面中嵌入Java代码,使得动态生成网页变...
在Java Web开发中,"jsp+servlet文件上传数据库和下载"是常见的功能需求,涉及到的主要技术包括JSP(JavaServer Pages)、Servlet、文件处理以及数据库操作。以下将详细阐述这些知识点。 1. JSP(JavaServer Pages...
在Java Web开发中,利用Javabean和JSP可以构建一个完整的文件管理系统,包括文件的上传、显示和下载等功能...在实际项目中,还可以结合Servlet、MVC框架(如Spring MVC)等技术,进一步提升代码的组织结构和可维护性。
本教程将详细讲解如何使用 `JSP` 和 `Servlet` 结合 `jspsmartupload` 库来实现文件上传功能。 首先,我们需要了解`jspsmartupload`库。`jspsmartupload` 是一个基于Java的开源项目,专门设计用于在`JSP`页面上处理...