- 浏览: 87508 次
- 性别:
- 来自: 重庆
文章分类
//jsp
<form action="UploadFile" method="post">
<input type="file" name="file1" >
<input type="file" name="file2">
<input type="submit" value="上传">
</form>
//servlet
public class UploadFile extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<String> fileList = new ArrayList<String>();
String filename1 = request.getParameter("file1");
String filename2 = request.getParameter("file2");
if (filename1 != null && filename1.trim().length() > 0) {
filename1= new String(filename1.getBytes("iso-8859-1"), "UTF-8");
fileList.add(filename1);
}
if (filename2 != null && filename2.trim().length() > 0) {
filename2 = new String(filename2.getBytes("iso-8859-1"), "UTF-8");
fileList.add(filename2);
}
System.out.println("filename1="+filename1 +"\r\n"+ "filename2="+filename2);
//建立上传文件存放的路径
File uploadPath = new File(request.getRealPath("/downloadPath"));
//System.out.println("uploadPath="+uploadPath);
if (!uploadPath.exists()) {
uploadPath.mkdirs();
}
for (int i = 0; i < fileList.size(); i++) {
String fileName[] = new String[fileList.size()];
String exFileName[] = new String[fileList.size()];
//文件路径
String filePath = fileList.get(i);
//取上传的文件名称
fileName[i] = filePath.substring(filePath.lastIndexOf("\\")+1, filePath.length());
//取得文件的扩展名称
exFileName[i] = filePath.substring(filePath.lastIndexOf(".")+1, filePath.length());
//在存放的目录下新建文件
File uploadFileName = new File(uploadPath, fileName[i]);
System.out.println("uploadFileName="+uploadFileName);
if (!uploadFileName.exists()) {
uploadFileName.createNewFile();
}
FileInputStream inputStream = new FileInputStream(filePath);
//向服务器写入文件
FileOutputStream outputStream = new FileOutputStream(uploadPath+"/"+fileName[i]);
int c = inputStream.read();
System.out.println("-----------c:"+c);
byte[] bt = new byte[1024];
int num = inputStream.read(bt, 0, 512);
while (num != -1) {
outputStream.write(bt, 0, 1024);
num = inputStream.read(bt, 0, 1024);
}
inputStream.close();
outputStream.close();
}
}
}
<form action="UploadFile" method="post">
<input type="file" name="file1" >
<input type="file" name="file2">
<input type="submit" value="上传">
</form>
//servlet
public class UploadFile extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<String> fileList = new ArrayList<String>();
String filename1 = request.getParameter("file1");
String filename2 = request.getParameter("file2");
if (filename1 != null && filename1.trim().length() > 0) {
filename1= new String(filename1.getBytes("iso-8859-1"), "UTF-8");
fileList.add(filename1);
}
if (filename2 != null && filename2.trim().length() > 0) {
filename2 = new String(filename2.getBytes("iso-8859-1"), "UTF-8");
fileList.add(filename2);
}
System.out.println("filename1="+filename1 +"\r\n"+ "filename2="+filename2);
//建立上传文件存放的路径
File uploadPath = new File(request.getRealPath("/downloadPath"));
//System.out.println("uploadPath="+uploadPath);
if (!uploadPath.exists()) {
uploadPath.mkdirs();
}
for (int i = 0; i < fileList.size(); i++) {
String fileName[] = new String[fileList.size()];
String exFileName[] = new String[fileList.size()];
//文件路径
String filePath = fileList.get(i);
//取上传的文件名称
fileName[i] = filePath.substring(filePath.lastIndexOf("\\")+1, filePath.length());
//取得文件的扩展名称
exFileName[i] = filePath.substring(filePath.lastIndexOf(".")+1, filePath.length());
//在存放的目录下新建文件
File uploadFileName = new File(uploadPath, fileName[i]);
System.out.println("uploadFileName="+uploadFileName);
if (!uploadFileName.exists()) {
uploadFileName.createNewFile();
}
FileInputStream inputStream = new FileInputStream(filePath);
//向服务器写入文件
FileOutputStream outputStream = new FileOutputStream(uploadPath+"/"+fileName[i]);
int c = inputStream.read();
System.out.println("-----------c:"+c);
byte[] bt = new byte[1024];
int num = inputStream.read(bt, 0, 512);
while (num != -1) {
outputStream.write(bt, 0, 1024);
num = inputStream.read(bt, 0, 1024);
}
inputStream.close();
outputStream.close();
}
}
}
发表评论
-
java 包、类、方法、属性、常量的命名规则
2018-02-01 17:38 634Java的包名都有小写单词组成,类名首字母大写;包的路径符合 ... -
log4j封装
2017-04-28 18:21 0由于最近在做提使用log4j频繁,每次都要在类的开头都要创建 ... -
log4j封装
2017-04-28 18:17 528由于最近在做提使用log4j频繁,每次都要在类的开头都要创 ... -
java计算概率
2017-03-31 15:52 1006rates 为中奖概率值 比如:0.3,0.5,0.2 ... -
好博客地址
2017-03-14 09:58 347http://blog.csdn.net/zhangerqin ... -
xml转换成bean
2017-03-08 11:16 534实现类 import java.io.ByteArrayI ... -
java表达式验证
2016-09-26 16:34 471表达式的求值上,java的选择非常多,强大的如Groovy ... -
注解+反射实现request转bean
2016-09-02 16:02 744package com.jdk.annotation.de ... -
HttpURLConnection+post+json案例
2016-04-19 17:46 530public class HttpUtil { pri ... -
java实现手机归属地查询
2015-09-08 11:40 367import java.io.BufferedReader; ... -
DES加密解密
2015-08-19 10:16 409package queue; import java.se ... -
java反射
2014-05-27 12:39 4841 反射的应用场合 在编译时根本无法知道该对象或类可能属 ... -
将结果导出到excel并下载
2014-03-06 17:12 0String url = request.getParame ... -
java读取文件内容
2014-02-12 22:25 609package cn.huwy.fileStream; im ... -
cookie使用方法
2014-01-21 10:42 629response.setCharacterEncoding(& ... -
权限的具体实现方法,及建表
2014-01-16 17:03 654用户表(user): user_id us ... -
Calendar的用法
2013-12-26 15:36 604public class CalendarDemo { ... -
日期相减得到天数
2013-10-10 14:12 790SimpleDateFormat format = new S ... -
中文日期格式转成英文日期格式
2013-09-24 10:17 919/*将中文日期格式转换成英文格式*/ SimpleDa ... -
日期比较大小
2013-09-11 21:56 463public static void main(String[ ...
相关推荐
3. **lib**:可能包含项目所需的jar文件,如Servlet API、JDBC驱动等第三方库。 4. **jsp**:存放JSP页面,负责展示界面和收集用户输入。 5. **css**、**js**、**images**:分别存放CSS样式文件、JavaScript脚本和...
6. 第三方库:如Apache Commons FileUpload和Spring的MultipartFile,简化文件上传操作。 7. 配置Tomcat:调整MaxPostSize,配置Servlet,以及可能的插件配置。 以上就是关于“tomcat+tomcat插件+servlet文件上传...
- CSRF(跨站请求伪造)防护:添加CSRF令牌以防止恶意第三方提交登录请求。 - 使用HTTPS:确保通信过程的安全,防止数据被截获。 项目中的`web`目录是标准的Web应用结构,其中可能包含`WEB-INF`目录,`WEB-INF`下有...
4. **lib** 文件夹:可能包含项目所需的第三方库,如Servlet和JSP API jar文件,以及其他可能用到的依赖库。 在开发过程中,Eclipse作为集成开发环境(IDE)提供了编写、调试和部署JavaWeb项目的支持。开发者可以...
在处理文件上传和下载功能时,单纯的Servlet和JSP往往力有未逮,此时就需要引入第三方库。在这个场景下,"commons-io-1.4.jar" 和 "commons-fileupload-1.2.1.jar" 这两个JAR包就显得尤为重要。 **Apache Commons ...
然而,仅仅依靠Servlet API来实现文件上传可能会比较复杂,因此开发者通常会使用第三方库如Apache Commons FileUpload和Apache Commons IO来简化这个过程。Apache Commons FileUpload提供了一套易于使用的API,使得...
- "jar"文件可能包含项目运行所需的依赖库,如Servlet API和其他第三方库。这些库被编译为JAR(Java Archive)文件,方便在Java环境中运行。 - "数据库"可能是一个SQL脚本或者数据库备份文件,用于初始化论坛系统的...
4. `lib`目录:可能包含项目依赖的库文件,如Sitemesh的jar包和其他第三方库。 部署该项目时,需要将整个`sitemeshdemo`目录上传到Web服务器的相应目录下,然后配置服务器以支持Servlet和JSP。在Tomcat等流行的...
要实现文件上传,我们需要添加第三方提供的jar包,包括commons-fileupload-1.2.2-bin.zip和commons-io-2.3-bin.zip。首先,我们需要创建一个新的web工程,在工程的WebRoot目录下新建一个upload文件夹,这样当我们将...
然而,Servlet API本身并不提供友好的文件上传接口,因此开发者通常会使用第三方库,如Apache Commons FileUpload或Jetty的MultiPartParser等。这些库简化了文件上传过程,提供了处理文件流、设定大小限制和错误处理...
5. `lib` 目录(如果存在):存放项目依赖的第三方库。 开发过程中,开发者可能会使用IDE(如Eclipse或IntelliJ IDEA)来编写和调试代码,同时利用Tomcat或Jetty等Web服务器进行本地测试。在部署时,整个项目会被...
8. **其他第三方库**:根据项目需求,可能还需要其他的库,如Spring框架的`spring-webmvc.jar`,Struts的`struts.jar`,Hibernate的`hibernate-core.jar`等。 这些JAR文件通常被放在项目的`WEB-INF/lib`目录下,Web...
- `lib`:可能包含项目所需的jar库文件,如Servlet和JSP的API库,以及其他第三方库。 - `db`:可能包含数据库脚本文件,用于创建和初始化数据库表结构。 - `resources`:可能包含静态资源文件,如CSS样式表、...
4. `lib`:可能包含项目所需的第三方库,如Servlet和JSP的API jar文件。 5. `WEB-INF/classes`:编译后的Java类文件会被部署到这里。 通过分析和运行这个项目,开发者可以学习到如何在实际环境中组织和协调Servlet...
- lib:第三方库文件夹,可能包含JDBC驱动和其他依赖的jar包。 - db:数据库相关文件,如SQL脚本、配置文件等。 - README.md:项目说明文档,介绍如何搭建和运行项目。 学习这个项目,不仅可以了解JSP和Servlet的...
在Java Web开发中,文件上传和下载是常见的...总的来说,Java Web中的文件上传涉及前端表单设计、后端Servlet处理和第三方库的使用。通过这些技术,我们可以构建出稳定、可靠的文件管理系统,满足各种Web应用的需求。
5. **lib** 文件夹:可能包含系统所需的第三方库文件,如Easy UI的jar包,以及连接MySQL的JDBC驱动。 6. **WEB-INF** 文件夹:内含web.xml,是Web应用的部署描述符,配置Servlet和过滤器等。 7. 数据库脚本(可能为....
为了实现这个功能,通常需要借助第三方库,比如本例中提到的`jsmartcom_zh_CN.jar`组件。这个组件是专为文件上传设计的,它简化了处理用户通过表单提交的多个文件的流程。 首先,让我们了解多文件上传的基本步骤: ...
3. **lib**:可能包含项目所需的第三方库,如JDBC驱动和其他依赖的jar包。 4. **resources**:存放配置文件和其他非编译资源,如数据库连接配置文件、国际化文件等。 5. **pom.xml**(如果使用Maven)或`build....
这些库可能包括Apache Tomcat服务器的运行时库、Java Servlet API、JavaServer Pages(JSP)API、Java EE相关的库以及可能的第三方库,如JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)...