- 浏览: 579514 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (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 2297Query query = session.creat ... -
转==Java获取请求客户端的真实IP地址
2010-10-17 17:03 1523通常通过request.getRemoteAddr() 取得 ... -
jsp中还可以定义方法,不错
2010-08-31 18:35 2132<%! public String myDecode ... -
jstl 对国际化i18n的支持
2010-08-24 16:02 2697下面是我转自:http://spaceflysky-163-c ... -
jstl学习-变量的取值范围和编译后的代码
2010-08-24 15:42 3144主要测试问题: 1、隐式EL变量 pageScope: ... -
基于多种协议的消息传递机制简介(转)
2010-08-24 10:25 2868转载 基于多种协议的 ... -
(转)AssertionError 的来源
2010-08-24 10:23 1259下面哪些类与AssertionError 类是"is ... -
Java单例模式-双重检查为什么会有问题
2010-08-24 10:22 0参考资源: http://www.iteye.com/topi ... -
(转)接口与抽象接口(interface & abstract interface)
2010-07-23 14:57 1348前一段用到Spring的ApplicationContext接 ... -
(转)用Hash目录优化文件存储
2010-07-23 13:27 2565Hash目录是一种优化文件存储性能的方法。无论是Windows ... -
输出XXX{0}YYY{1}ZZZ格式的字符串方法
2010-07-21 15:10 1569public static void main(Strin ... -
(转)findstr 命令学习
2010-07-12 18:02 1665findstr 命令学习 findstr 是 Windows ... -
Apache lnag 包生成随机数的方法
2010-07-10 12:02 1496使用 apache 包的 RandomStringUtils类 ... -
(转载)javamail 发送邮件的简单实例
2010-07-09 18:31 1006今天学习了一下JavaMail,javamail发送邮件确实是 ... -
(转载)使用Servlet实现文件下载的时候,避免浏览器自动打开文件
2010-07-07 15:35 1519response.addHeader("Cont ... -
File 协议
2010-01-29 15:41 2750英文原义:File Protocol 中文释义:本地文件传输 ... -
深入了解字符集和编码
2009-03-03 11:22 1309关键字: 字符集 编码 ... -
在命令行中"执行命令"的搜索路径
2009-02-27 10:25 1642问题:在命令行中输入一个命令,如telnet,javac,ja ... -
Java中-classpath和路径的使用
2009-02-25 11:05 1406如有侵权请告知 javac -classpath的使用: ... -
JAVA 类加载原理收藏
2009-02-25 10:54 2743该文章来源于网上,如 ...
相关推荐
杨中科.Net培训实况教学视频学习笔记 传智播客2010版.Net教学课件 程序员的SQL金典全部 2014版传智播客笔试面试宝典
传智播客网站下载的,但是原来的顺序是穿插在各个章节之间的,看起来很麻烦,因此从中把有关文件操作的都抽取出来重新排序了。专门作为一个专题资料。
javaWeb传智播客网上书城项目源码(设计以及实现论文).zipjavaWeb传智播客网上书城项目源码(设计以及实现论文).zipjavaWeb传智播客网上书城项目源码(设计以及实现论文).zipjavaWeb传智播客网上书城项目源码(设计以及...
传智播客用Strut2实现的多文件上传,可以参考视频
《传智播客成都中心蔡世友JavaScript面向对象及ExtJS基础教程》2.79G 《2010传智播客struts2.1.8视频教程》1.09G 《EJB3.0视频教程》180M 《JDBC视频教程》664M 《jpa详解视频教程》165M 《spring2.5视频教程》365M ...
之前在传智播客下载了一些java的学习视频,结果只有两个MP4格式的视频可以看,其他的avi格式的不能看,找了好久才找到可以播放视频的播放器,希望可以帮到需要的小伙伴。
传智播客是IT行业比较牛的一个培训机构,课程深入通俗易懂
传智播客 黑马班 电力系统数据库 传智播客 黑马班 电力系统数据库
传智播客Spring2.5.6学习笔记最新整理传智播客Spring2.5.6学习笔记最新整理传智播客Spring2.5.6学习笔记最新整理传智播客Spring2.5.6学习笔记最新整理传智播客Spring2.5.6学习笔记最新整理
传智播客 方立勋 WEB视频教程“文件上传和下载”
15年9月传智播客视频struts2
传智播客2016spring资料中少了的第4天源码以及课件
传智播客黑马python东哥主讲,这里是代码和课件。视频见:https://www.bilibili.com/video/av36851082/?p=129
JavaWeb 视频教程 传智播客 第18天 共28天
传智播客的JavaWeb课件,有需要的同学自取,我白嫖存储空间
传智播客ios第四期就业班视频解压密码,有需要的同学赶紧来下载吧,再也不用担心学费的问题了
java基础课件 源于传智播客 广泛传播
传智播客\Ajax\传智播客ajax课堂源码
压缩包里包含了传智播客课堂学习Oracle的全部资料,包括了建表的文件,Oracle知识点的ppt,以及针对Oracle各个知识点的练习题。
传智播客_Andorid_传智播客_8天Android视频教程_视频.zip