四十六 第三方控件

四十六章 — 第三方控件

一、掌握文件上传

HTTP协议是基于TCP协议的一种超文本传输协议,用于通信

客户端请求,服务端响应。

rfc 1867里提出了HTTP协议允许进行文件上传

<input type = "file"/>

commons-fileupload 它遵循了rfc 1867规范 进行了一系列文件上传封装。

  • 下载最新版fileupload和io组件http://commons.apache.org/proper/commons-fileupload/
  • 客户端: rfc1867规范中提到文件上传必须要保证请求方式为POST,内容类型为(Content-Type)必须为multipart/form-data
    • 编写一个表单 将其请求方式设置为POST
    • 将表单属性enctype="multipart/form-data"(设置它之后,数据的请求被信息比那花了,变为了文件项形式上传)
    • 设置一个文件域用于选择文件
  • 服务端
 1.工厂

// 接口:File文件Item项Factory工厂    用来进行文件项内容接收的 
// 实现类:DiskFileItemFactory 
// 常用的API:
DiskFileItemFactory fif = new DiskFileItemFactory();
// 设置上传过程中的文件缓冲区大小
 fif.setSizeThreshold(sizeThreshold);
// 设置上传过程中的临时文件存储位置
 fif.setRepository(repository)
     
----------------------------------------------------------

 2.产品
 
// 接口FileItem  用来存储请求过来的文件项内容  文件项可能为文件表单 也可能为普通表单
 判断是否是普通表单 isFormFiled()
     
 获取文件名   getName()
     
 获取name属性值  getFiledName()
     
 获取value属性值 getString()   getString(String encoding)
     
 获取文件大小  getSize()
     
 文件存储  (上传到服务器的哪个位置) write(File destFile)
     
-------------------------------------------------------

  3.操作工 ServletFileUpload
     
 设置上传文件的总大小  setSizeMax(long 字节)  如果文件上传超过大小限制 会抛出一个FileUploadBase.SizeLimitExceededException异常
// 解析请求 将请求内容转换为对应的文件项集合
 List<FileItem> parseRequest(HttpServletRequest request)
     
// 判断是否是enctype=multipart/form-data格式的上传 
 boolean isMultipartContent(HttpServletRequest request)
// 设置头编码(如果你的文件名乱码了 可以设置它)  记住这些编码设置应该放在最前面  否则都已经获取完了 设置也就没意义
 setHeaderEncoding(String encoding)

二、掌握富文本编辑器的使用

富文本编辑器

editor:编辑

三、掌握页面拆分

在编写JSP文件时 ,在多个JSP文件中会出现大量的重复代码。JSP由HTML+java组成的,所以有可能有大量的重复HMTL或者重复Java代码。那么就需要对重复的代码进行复用

1.静态包含

<% include %>指令

2.动态包含

<jsp: include/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值