黑马day15 文件上传入门
2015-07-08 23:08
316 查看
关于文件上传jsp页面中的表单的要求:
1.表单必须是post,这里为什么是post而不是get提交方式呢?这是因为get提交参数放在url后,且大小不能超过10kb,你想如果把一个很大的文件放到url后面带着.....而且一般文件的大小都超过了10kb...
2.文件输入框必须有name属性,只有有name属性的输入项浏览器才会进行提交...
3.必须设置enctype的属性为multitype/form-data....
案例jsp页面:
1.表单必须是post,这里为什么是post而不是get提交方式呢?这是因为get提交参数放在url后,且大小不能超过10kb,你想如果把一个很大的文件放到url后面带着.....而且一般文件的大小都超过了10kb...
2.文件输入框必须有name属性,只有有name属性的输入项浏览器才会进行提交...
3.必须设置enctype的属性为multitype/form-data....
案例jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv=" pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body style="text-align: center"> <h1>文件上传</h1> <div align="center"> <form action="${pageContext.request.contextPath }/servlet/UploadServlet" enctype="multipart/form-data" method="post"> 描述信息1:<input type="text" name="description1"/><br> 描述信息2:<input type="text" name="description2"/><br> <input type="file" name="file1"/><br> <input type="submit" value="提交"/><br> </form> </div> </body> </html>当提交的时候根据enctype会把提交的实体内容进行分割...然后我们再根据分割线...找出name为file的...找出其中的实体内容...然后使用流的方式读取到上传的文件夹....
package cn.itheima.upload; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class UploadServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletInputStream in = request.getInputStream(); int len=0; byte b[]=new byte[1024]; while((len=in.read(b))!=-1){ System.out.write(b,0,len); } in.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }在浏览器中输入localhost:8080/day15/upload.jsp会发现控制台打印了内容...
相关文章推荐
- 2015070805 - 算不算食言呢?
- 关键字volatile有什么含义?并给出三个不同的例子
- Perl 的面向对象编程
- C++加载位图
- [Perl]对 EXCEL 文件进行简单操作
- 对com对象的释放
- Java NIO 系列教程
- CocoaPods 第三方库管理器
- PHP与ECMAScript_5_常用数组相关函数
- ROS的安装
- 操作系统之磁盘调度和管理
- 如何监控GC及内存问题解决方案概述
- 图书管理系统C语言课程设计2
- 均价 和 最新价格 是啥意思 什么是MACD DIFF DEA 指标?
- 提高数据库查询速度的几个思路
- 排序总结:插入(简单和改进)、希尔、选择、冒泡、快速、堆排序、归并排序
- C#利用最新版的WPS实现导入导出
- 提高数据库查询速度的几个思路
- 《开源框架那些事儿22》:UI框架设计实战
- c++指针经典题目分析