首先我们写两个jsp页面,一个upload.jsp用于编写客户端提交的表单,一个是result.jsp用向用户输出结果,然后编写服务器端程序servelt,我们只需要重写doPost方法既可。
upload.jsp
<body>
<form action="/MyStructs2/UploadServlet" type="post" method="post" enctype="multipart/form-data">
username:<input type="text" name="username"><br>
password: <input type="password" name="password"><br>
file1 <input type="file" name=file1><br>
file2 <input type="file" name=file2><br>
<input type="submit" value="submit">
</form>
</body>
result.jsp
<body>
username:${requestScope.username}<br>
password:${requestScope.password }<br>
file1: ${requestScope.file1}<br>
file2:${requestScope.file2 }<br>
</body>
UploadServlet.java
DiskFileItemFactory factory=new DiskFileItemFactory();
String path=request.getRealPath("/upload");
factory.setRepository(new File(path));
factory.setSizeThreshold(1024*1024);
ServletFileUpload upload=new ServletFileUpload(factory);
try {
List<FileItem> list=upload.parseRequest(request);
for(FileItem item:list)
{
if(item.isFormField())//如果不是文件类型
{
String name=item.getFieldName();
String value=item.getString();
request.setAttribute(name, value);
}
else//如果是文件类型
{
String name=item.getFieldName();//得到字段名称
String value=item.getName();//取得该字段的值
int start=value.lastIndexOf("\\");
String fileName=value.substring(start+1); //wenjianming
request.setAttribute(name, fileName);
OutputStream os=new FileOutputStream(new File(path,fileName));
InputStream is=item.getInputStream();
byte[] buffer=new byte[400];
int length=0;
while((length=is.read(buffer))>0)
{
os.write(buffer,0,length);
}
os.close();
is.close();
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.getRequestDispatcher("upload/result.jsp").forward(request,response);//请求转发
分享到:
相关推荐
在本文中,我们将深入探讨如何使用JSP、Servlet和MySQL实现文件上传功能,特别是基于Servlet 3.0的实现方式。文件上传是Web应用程序中常见的需求,它允许用户上传文件到服务器并存储在数据库中。这里我们将讲解关键...
JSP文件可以包含HTML、CSS、JavaScript以及嵌入式的Java代码,使得业务逻辑和视图能够分离。 4. **MVC(Model-View-Controller)架构**:在CRM系统中,通常会采用MVC模式组织代码。Model代表业务数据和逻辑,View...
本文实例讲述了servlet+JSP+mysql实现文件上传的方法。分享给大家供大家参考,具体如下: 一、文件上传的基本操作: 1、 表单属性enctype的设置 multipart/form-data和application/x-www-form-urlencoded的区别 FORM...
基于servlet+jsp+sql server实现的java web大学生活动管理系统网站,使用的技术是servlet+jsp,tomcat7.0,使用sql server数据库。数据库的sql文件已包含在压缩包之中。 本系统有学生和管理员两种角色,管理员可以查看...
### jsp+servlet实现文件上传下载 在现代Web开发中,文件上传下载是常见的功能之一。JSP(JavaServer Pages)与Servlet技术结合可以轻松实现这一功能。本篇将详细介绍如何利用jspSmartUpload组件实现文件的上传与...
在这个主题中,“jsp+servlet实现文件上传和下载”是核心知识点,我们将深入探讨如何利用这两个组件以及Apache的`commons-fileupload`和`commons-io`库来完成这一任务。 1. **文件上传** 文件上传通常涉及用户通过...
servlet+jsp+sql server实现的java web大学生活动管理系统网站软件源代码,使用的技术是servlet+jsp,tomcat7.0,使用sql server数据库。数据库的sql文件已包含在压缩包之中。 本系统有学生和管理员两种角色,管理员...
本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...
主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...
6.1.2 servlet相关接口与实现类 197 6.2 几个实例 205 6.2.1 实例一:simplehello 205 6.2.2 实例二:welcomeyou 210 6.2.3 实例三:outputinfo 216 6.2.4 实例四:loginservlet 220 6.3 servlet异常 223 ...
6. **文件上传流程**: 通常,图片上传的过程包括用户在JSP页面上选择文件,通过表单提交到Servlet,Servlet解析请求,读取文件内容,然后将文件内容转化为Blob对象,最后使用JavaBean将Blob对象与相关元数据一起存入...
以下是一个简单的使用这两个库实现文件上传的Servlet示例: ```java import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException; import ...
以下是使用Servlet和JSP实现文件上传的基本步骤: 1. **配置依赖**:在项目中添加Apache Commons FileUpload和IO库。这两个库可以通过Maven或Gradle等构建工具导入,或者手动下载jar文件并添加到项目的类路径中。 ...
在这个"Servlet+jsp文件上传和下载"的场景中,我们将探讨如何使用这两种技术实现文件的上传与下载功能。 首先,文件上传涉及到HTTP协议中的多部分/形式数据(Multipart/form-data)格式。当用户通过HTML表单提交...
这就需要处理文件上传,使用Servlet API中的`Part`接口来接收上传的文件,并将其保存到服务器的指定目录。同时,用户可能还需要下载图书附件,这涉及流的读写操作。 7. **异常处理**: 系统应具有完善的异常处理...
总结来说,Servlet+JSP实现文件上传功能的关键在于理解HTTP POST请求的多部分数据格式,使用Apache Commons FileUpload库解析文件项,并将文件保存到服务器的指定位置。同时,为了提供良好的用户体验,还需要处理...
该上传的压缩包文件"Servlet+jsp实现上课点名系统"是一个基于Java Web技术的开源项目,用于在课堂上进行点名操作。这个系统利用了Servlet和JSP这两种核心技术,结合了J2EE的框架,同时也涉及到了HTML前端页面的设计...
1、项目简介本项目是一套基于Servlet+JDBC+jsp实现员工信息管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。...
本项目是一套基于servlet+jsp实现小区门户网站后台管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目...