- 浏览: 592625 次
- 性别:
- 来自: 南京
-
文章分类
- 全部博客 (214)
- web (36)
- oracle (10)
- http (1)
- 设计 (2)
- 项目 (1)
- 方法论 (0)
- 需求 (0)
- 成长 (6)
- 工作日志 (0)
- java基础 (20)
- java线程 (2)
- CMMI (0)
- Ext (19)
- JavaScript (16)
- OpenGL (0)
- 我的管理 (3)
- 敏捷 (0)
- mysql (7)
- 其他 (3)
- tools (10)
- 3d (1)
- 音视频直播 (9)
- C++ (1)
- 测试 (3)
- 开源 (3)
- css (4)
- 安全 (1)
- 项目管理 (1)
- NoSql (1)
- 文件系统 (1)
- cache (2)
- easyui (1)
- 3G (1)
- 单点登录 (1)
- portal (2)
- 问题 (0)
- ORM (0)
- 视频教程 (1)
- 电子书 (1)
- 规范 (2)
- spring (5)
- xml (0)
- ibatis (1)
- struts (2)
- 面试 (6)
- svn (0)
- 自考 (1)
- tomcat (3)
- html (1)
- jmesa Grid 组件 (1)
- 日志 (0)
- Jquery (1)
- os (1)
- books (0)
- download (0)
最新评论
-
remoteJavaSky:
弱弱的问一下,关于那个登录,登录后服务端会给客户端一个sess ...
Java Session 是如何实现的 -
jiangshuiy:
2中的报错是因为的源码有 package,而你的命令里面没有p ...
javac、java命令的使用 -
yanwushu:
简介明了,好文章......
ServletContext -
516456267:
第四个说明很有用
对log4j的ConversionPattern的学习 -
meShare2011:
加载顺序是先加载Tomcat Lib文件夹下的Jar包对么? ...
(转)jar not loaded. See Servlet Spec 2.3, section 9.7.2. 错误原因和解决办法
今天讲了文件的上传文件上传与下载工程。这在实际的应用中非常常见,首先上传文件需要解决一些问题主要包括一下几点:
1.上传文件怎么保证服务器的安全?
解决的方案:上传目录要禁止外界直接访问,一般的做法是把上传目录放到服务器的web-inf目录中,这个目录服务器是保护的,外界无法直接访问
2.上传文件被覆盖的问题
服务器要为每一个上传文件生成一个唯一的文件名,用UUID算法
3.上传的文件需要打散不同的文件夹存储,一个文件夹下面的文件不能超过1000个
使用Hash目录算法
4.上传文件名中文乱码问题:
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
5.多文件上传问题。
下面是课上讲的上传与下载文件小项目的设计流程分为以下几步,严格遵循了程序设计的原则。
搭建开发环境:
jstl.jar
standard.jar
commons-fileupload-1.2.1.jar
commons-io-1.4.jar
commons-dbutils-1.2.jar
commons-dbcp-1.2.2.jar dbcpconfig.properties
commons-pool.jar
mysql-connector-java-5.0.8-bin.jar
2.采用分帖技术搭建前台页面:
首页:index.jsp---进行分帖,两个贴:top.jsp main.jsp
top.jsp:
<a href="/day16_web/upload.jsp" target="main">上传文件</a>
<a href="/day16_web/servlet/ListFileServlet" target="main">下载文件</a>
3.设计实体:UpFile
private int id;
private String name; //文件名
private String realname; //文件真实名称
private String filepath; //文件的位置
private String username; //文件的上传用户
private String description; //文件的描述
private Date uptime;
4.创建库和表
create database day16;
use day16
create table upfile
(
id int primary key auto_increment,
name varchar(100) not null,
realname varchar(100) not null,
filepath varchar(100) not null,
username varchar(100) not null,
description longtext,
uptime datetime
)
5.设计接口UpFileDao.java和实现类UpFileDaoImpl.java
写工具类JdbcUtil,以获得数据源
6.编写实现上传功能的UploadServlet
用上传组件解析数据,要把文件保存到硬盘中,并把文件的信息封装到UpFile对象,然后调用dao保存到数据中
要求:
文件不能被覆盖
文件要打散
上传的文件要禁止外界直接访问
7.编写ListFileServlet,它调用dao得到所有的上传文件信息,并交给listfile.jsp显示所有上传的文件
8.编写DownServlet,根据用户提交文件名,实现文件下载
1.上传文件怎么保证服务器的安全?
解决的方案:上传目录要禁止外界直接访问,一般的做法是把上传目录放到服务器的web-inf目录中,这个目录服务器是保护的,外界无法直接访问
2.上传文件被覆盖的问题
服务器要为每一个上传文件生成一个唯一的文件名,用UUID算法
3.上传的文件需要打散不同的文件夹存储,一个文件夹下面的文件不能超过1000个
使用Hash目录算法
4.上传文件名中文乱码问题:
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
5.多文件上传问题。
下面是课上讲的上传与下载文件小项目的设计流程分为以下几步,严格遵循了程序设计的原则。
搭建开发环境:
jstl.jar
standard.jar
commons-fileupload-1.2.1.jar
commons-io-1.4.jar
commons-dbutils-1.2.jar
commons-dbcp-1.2.2.jar dbcpconfig.properties
commons-pool.jar
mysql-connector-java-5.0.8-bin.jar
2.采用分帖技术搭建前台页面:
首页:index.jsp---进行分帖,两个贴:top.jsp main.jsp
top.jsp:
<a href="/day16_web/upload.jsp" target="main">上传文件</a>
<a href="/day16_web/servlet/ListFileServlet" target="main">下载文件</a>
3.设计实体:UpFile
private int id;
private String name; //文件名
private String realname; //文件真实名称
private String filepath; //文件的位置
private String username; //文件的上传用户
private String description; //文件的描述
private Date uptime;
4.创建库和表
create database day16;
use day16
create table upfile
(
id int primary key auto_increment,
name varchar(100) not null,
realname varchar(100) not null,
filepath varchar(100) not null,
username varchar(100) not null,
description longtext,
uptime datetime
)
5.设计接口UpFileDao.java和实现类UpFileDaoImpl.java
写工具类JdbcUtil,以获得数据源
6.编写实现上传功能的UploadServlet
用上传组件解析数据,要把文件保存到硬盘中,并把文件的信息封装到UpFile对象,然后调用dao保存到数据中
要求:
文件不能被覆盖
文件要打散
上传的文件要禁止外界直接访问
7.编写ListFileServlet,它调用dao得到所有的上传文件信息,并交给listfile.jsp显示所有上传的文件
8.编写DownServlet,根据用户提交文件名,实现文件下载
发表评论
-
Hibernate createSQLQuery list 返回结果转成Map的方法
2012-03-03 17:24 2375Query query = session.creat ... -
转==Java获取请求客户端的真实IP地址
2010-10-17 17:03 1570通常通过request.getRemoteAddr() 取得 ... -
jsp中还可以定义方法,不错
2010-08-31 18:35 2171<%! public String myDecode ... -
jstl 对国际化i18n的支持
2010-08-24 16:02 2731下面是我转自:http://spaceflysky-163-c ... -
jstl学习-变量的取值范围和编译后的代码
2010-08-24 15:42 3181主要测试问题: 1、隐式EL变量 pageScope: ... -
基于多种协议的消息传递机制简介(转)
2010-08-24 10:25 2910转载 基于多种协议的 ... -
(转)AssertionError 的来源
2010-08-24 10:23 1360下面哪些类与AssertionError 类是"is ... -
Java单例模式-双重检查为什么会有问题
2010-08-24 10:22 0参考资源: http://www.iteye.com/topi ... -
(转)接口与抽象接口(interface & abstract interface)
2010-07-23 14:57 1387前一段用到Spring的ApplicationContext接 ... -
(转)用Hash目录优化文件存储
2010-07-23 13:27 2615Hash目录是一种优化文件存储性能的方法。无论是Windows ... -
输出XXX{0}YYY{1}ZZZ格式的字符串方法
2010-07-21 15:10 1625public static void main(Strin ... -
(转)findstr 命令学习
2010-07-12 18:02 1727findstr 命令学习 findstr 是 Windows ... -
Apache lnag 包生成随机数的方法
2010-07-10 12:02 1525使用 apache 包的 RandomStringUtils类 ... -
(转载)javamail 发送邮件的简单实例
2010-07-09 18:31 1046今天学习了一下JavaMail,javamail发送邮件确实是 ... -
(转载)使用Servlet实现文件下载的时候,避免浏览器自动打开文件
2010-07-07 15:35 1608response.addHeader("Cont ... -
File 协议
2010-01-29 15:41 2798英文原义:File Protocol 中文释义:本地文件传输 ... -
深入了解字符集和编码
2009-03-03 11:22 1353关键字: 字符集 编码 ... -
在命令行中"执行命令"的搜索路径
2009-02-27 10:25 1679问题:在命令行中输入一个命令,如telnet,javac,ja ... -
Java中-classpath和路径的使用
2009-02-25 11:05 1446如有侵权请告知 javac -classpath的使用: ... -
JAVA 类加载原理收藏
2009-02-25 10:54 2791该文章来源于网上,如 ...
相关推荐
总的来说,学习“传智播客Strut2多文件上传”教程,开发者需要掌握Struts2的Action机制、文件上传的原理以及如何在实际项目中处理文件。通过这个教程,你可以深入了解Struts2框架,并提高在实际开发中的应用能力。
根据提供的文件信息,我们可以推断出这是一套关于Struts2框架的教学视频资料,由知名的教育机构传智播客在2015年9月发布。下面将对Struts2框架进行详细介绍,并基于该视频资料可能涵盖的核心知识点进行展开。 ### ...
在“Node.js 传智播客 第2天 共8天”的课程中,我们深入学习了Node.js的基础和核心概念,这些内容对于理解和构建基于Node.js的后端应用至关重要。以下是对每个视频讲座的主要知识点的详细说明: 1. **02 01 复习 - ...
在“传智播客_8天Android视频教程”中,您将深入学习Android开发的基础知识,这是成为一名合格Android开发者的关键。Android是Google开发的开源操作系统,广泛应用于智能手机和平板电脑,拥有庞大的用户群体和市场...
这是一个用WinForm技术实现的系统,传智播客在开课的半个月就安排一个项目,体现了传智播客“项目驱动学习”的先进教学理念。 4、网页开发与JavaScript(7天) 查看案例演示 核心技术课程 HTML基础加强、css(包含...
在【压缩包子文件的文件名称列表】中,“传智播客_俄罗斯方块游戏程序与API包”很可能是包含所有游戏源代码和可能的API文档的文件。这个包可能包含了以下组成部分: 1. **游戏主程序**:这是整个游戏的核心,通常...
**传智播客FCKeditor笔记** FCKeditor是一款开源的网页文本编辑器,它允许用户在网页上编辑内容,...这份笔记是基于传智播客的课程整理而成,希望能对你的学习有所帮助,如果你觉得有价值,不妨分享给更多需要的人。
学习Struts2不仅需要理解这些基本概念,还要掌握Action的生命周期、拦截器链的工作原理、国际化处理、文件上传下载等功能。此外,整合Spring框架以实现依赖注入,以及与Hibernate等ORM框架集成进行数据库操作,也是...
【传智播客Qt5教程2016】是一份专为学习Qt5开发的教程资源,由知名教育机构传智播客制作。Qt5是一个跨平台的应用程序开发框架,广泛应用于桌面、移动设备和嵌入式系统。本教程旨在帮助开发者深入理解和掌握Qt5的各个...
【标题】"传智播客韩顺平PHP教程的PPT"是一套专注于PHP编程语言的教学资源,由知名IT教育专家韩顺平精心编撰。这个教程以PPT的形式呈现,旨在帮助初学者和有一定基础的学习者深入理解PHP语言的核心概念和实际应用。 ...
【传智播客OA系统全套源代码】是一个针对企业办公自动化(Office Automation)设计的完整解决方案,由知名教育机构传智播客开发并提供。这个系统涵盖了OA系统的各种核心功能,旨在提高企业的内部管理和协作效率。...
本资料“传智播客JavaWeb 方立勋ppt”是针对JavaWeb开发的一份内部教学资源,由知名教育机构传智播客制作,适用于初学者和进阶者提升技能。 在JavaWeb开发中,Servlet扮演着核心角色,它是Java编写服务器端程序的...
传智播客提供的Dreamweaver教程旨在帮助学员快速掌握Dreamweaver的基本操作及高级技巧。 #### 二、Dreamweaver核心功能 1. **代码编辑器**:Dreamweaver拥有直观的代码编辑器,支持多种编程语言,如HTML5、CSS3、...
这份“JavaSE基础传智播客毕向东老师全程笔记PDF”是针对初学者和希望巩固Java基础知识的学习者而准备的宝贵资料。 笔记中可能涵盖了以下几个重要的JavaSE知识点: 1. **Java环境配置**:安装JDK(Java ...
这可能涉及到文件上传、下载的实现,以及文件的存储和访问权限控制。 10. **音视频通话**:现代IM系统常常集成音视频通话功能,这需要利用到WebRTC等技术,实现高质量、低延迟的音视频传输。 综上所述,传智播客IM...
3. **文件上传下载**:实现文件的上传和下载功能,涉及文件流的处理。 4. **Struts2与Ajax交互**:使用Struts2的JSON或者dojo插件实现异步请求。 5. **数据库操作**:结合Hibernate或MyBatis进行数据库操作,展示...
在这个教程中,传智播客的专家们将引导我们深入理解JavaWeb开发的核心概念和技术。 首先,我们要讨论的是MySQL数据库的使用。MySQL是一种广泛采用的关系型数据库管理系统(RDBMS),因其开源、高效和易于管理的特性...
【传智播客安卓基础】 传智播客的安卓基础课程是针对初学者设计的一套全面的教学资源,旨在帮助学员快速掌握Android开发的基本技能。这个部分通常涵盖以下几个核心知识点: 1. **环境配置**:如何安装并配置Android...
3. 文件与目录操作:讲解如何读写文件、创建和删除目录,以及文件上传下载的实现方法。 4. 错误与异常处理:介绍错误报告机制,以及如何使用异常处理来增强代码的健壮性。 5. 面向对象编程:涵盖类与对象的概念、...