package com.lee.upload;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@WebServlet(name="upload",urlPatterns="/upload")
@MultipartConfig
public class UploadServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out=resp.getWriter();
String filename=req.getParameter("name");
Part part=req.getPart("file");
out.println("上传的文件类型为"+part.getContentType()+"<br/>");
out.println("上传的文件大小为:"+part.getSize());
Collection<String> headerNames=part.getHeaderNames();
for (String headname : headerNames) {
out.println(headname+"--->"+part.getHeader(headname)+"<br/>");
}
File f=new File(getServletContext().getRealPath("/uploadFiles"));
f.mkdir();
part.write(getServletContext().getRealPath("/uploadFiles")+"/"+filename);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>上传文件</title>
</head>
<body>
<form action="upload" enctype="multipart/form-data" method="post">
文件名:<input type="text" id="name" name="name"/><br/>
选择文件:<input type="file" id="file" name="file"/><br/>
<input type="submit" value="上传"/>
</form>
</body>
</html>
分享到:
相关推荐
本工程用于借助Servlet3.0实现文件上传 本工程编码方式:UTF-8 注意: 1、在上传文件前请在计算机C盘新建一个名为“upload”的文件夹,否则会出现如下异常:java.io.IOException: The temporary upload location [C...
下载的`servlet3.0jar综合`压缩包包含了实现这些特性的关键库,对于进行Java EE 3.0开发的程序员来说是必不可少的工具。在实际开发中,结合相关的框架(如Spring MVC)和其他Java EE组件,可以构建出功能强大、易...
4. **流处理**:Servlet 3.0的文件上传接口支持流处理,这意味着文件内容可以直接写入到输出流,而无需先全部加载到内存,这对于处理大文件非常有利。这降低了内存消耗,提高了系统的稳定性和性能。 5. **异步处理*...
在这个名为“servlet3.0-demo”的项目中,我们重点探讨的是如何利用Servlet 3.0的新特性进行文件上传操作,并且采用注解的方式来简化代码。 在Servlet 3.0之前,我们需要在web.xml中配置Servlet,然后通过继承...
Servlet 3.0是Java EE的一部分,它引入了许多改进,使得文件上传变得更加简单和高效。本篇文章将深入讲解如何使用Servlet 3.0实现文件上传功能。 一、Servlet 3.0新特性 Servlet 3.0标准放宽了对web.xml的依赖,...
Servlet3.0是Java EE平台中的一个重要组成部分,它在Servlet2.5的基础上引入了许多新特性,极大地提高了开发效率和灵活性。以下是对Servlet3.0主要特性的详细解释: 1. **注解配置**: 在Servlet3.0中,我们可以...
这个规范PDF文件是开发人员深入理解Servlet 3.0的核心资源,同时包含的javadoc为开发者提供了API的详细文档,便于在实际开发中查阅和使用。 1. **异步处理**:Servlet 3.0引入了异步处理能力,允许Servlet在请求...
Servlet3.0文件上传实例学习总结 Servlet3.0提供了对文件上传的原生支持,开发者可以直接使用Servlet3.0提供的API实现文件上传功能,不需要借助任何第三方上传组件。在这里,我们将介绍使用Servlet3.0实现文件上传...
Servlet3.0引入了注解配置,允许开发者无需在web.xml文件中进行繁琐的配置,可以直接在Servlet类上使用`@WebServlet`注解来声明和映射Servlet。例如: ```java @WebServlet("/hello") public class ...
* servlet3.0的文件上传 * @date:2012-5-21 *在创建项目的时候首先添加Tomcat7.x的支持,然后把apache-tomcat-7.0.27\conf\web.xml拷贝到项目WEB-INF目录下 *把之前的web.xml覆盖.. 配置留下 <?xml version...
本工程用于借助Servlet3.0实现文件上传 本工程编码方式:UTF-8 注意: 1、在上传文件前请在计算机C盘新建一个名为“upload”的文件夹,否则会出现如下异常:java.io.IOException: The temporary upload location [C...
本工程用于借助Servlet3.0实现文件上传 本工程编码方式:UTF-8 注意: 1、请不要使用360安全浏览器演示本功能,否则会出现如下异常:java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadBase...
在这个主题中,我们将深入探讨Servlet3.0的两个核心新特性:文件上传的简化以及Part接口的使用,以及MultiConfig注解在多配置环境中的应用。 首先,让我们关注Servlet3.0对文件上传的支持。在Servlet2.5及以前的...
Servlet3.0 实现文件上传的方法是通过利用其新特性,包括注解支持和HttpServletRequest对象对文件上传的内置处理,从而简化了以往依赖第三方库如Apache Commons FileUpload的复杂过程。在Servlet 3.0中,我们可以...
- Servlet 3.0引入了对注解的全面支持,允许开发者在类或方法级别声明Servlet、过滤器和监听器,而无需在web.xml配置文件中进行繁琐的配置。例如,可以通过`@WebServlet`、`@WebFilter`和`@WebListener`注解来声明...
例如,当一个请求触发了一个耗时的任务(如文件上传或数据库查询)时,Servlet 可以将控制权交给容器,让容器在后台继续执行这些操作,同时释放当前线程去处理其他请求。当后台任务完成时,Servlet 可以恢复执行并...
总结来说,Servlet3.0的新特性带来了更简洁的配置、更高效的异步处理、更灵活的过滤器和监听器注册,以及对文件上传的内置支持。这些改进都极大地推动了Java Web应用的开发效率和性能,使得开发人员能够更加专注于...
7. **MIME多部分解析**:Servlet 3.0引入了`Part`接口,用于处理MIME多部分请求,这在处理上传文件时非常有用。 8. **安全增强**:添加了新的安全相关API,如`HttpServletRequest.isUserInRole()`和`...
Servlet 3.0引入了模块化的概念,允许将Web应用拆分为多个独立的模块(或称为Web片段),每个模块都可以打包为自己的WAR文件。通过`WEB-INF/web.xml`配置文件或注解,可以声明模块间的依赖关系,使得应用结构更加...
在本文中,我们将深入探讨如何使用JavaServer Faces (JSF) 2.0与Servlet 3.0结合实现文件上传功能。JSF是Java平台上的一种Web应用程序开发框架,而Servlet 3.0则是用于处理HTTP请求的核心Java API,两者结合可以提供...